js与Java互调,中兴V5这款手机报错:NPObject deleted

本文介绍了一种使用ponto框架实现JS与Java互调的方法,并针对中兴手机出现的“Uncaught ReferenceError: NPObject deleted”错误进行了分析。文中探讨了两种可能的解决方案,包括在onPageFinished后重新绑定以及使用runOnUiThread方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js与Java互调的使用的框架是ponto,github链接:https://github.com/Wikia/ponto

前提:小米,魅族,华为,三星,一加,联想,酷派,vivo,oppo,nexus都测试过没问题,唯独中兴手机,只可以调2次,调到第三次直接挂了,异常信息:I/chromium﹕ [INFO:CONSOLE(1)] "Uncaught ReferenceError: NPObject deleted"。

网上搜了下,大致有两种说法:

1、(http://blog.youkuaiyun.com/houshunwei/article/details/46344545)
问题原因:
webview.addJavascriptInterface(obj, "MY_JAVA_OBJ"); 绑定了webview的window.MY_JAVA_OBJ。
但是在调用了 onPageFinished 之后,这个绑定失效了!

方法是,在onPageFinished末尾重新调用一次:
webview.addJavascriptInterface(obj, "MY_JAVA_OBJ");

2、(http://stackoverflow.com/questions/16758397/sometimes-throws-uncaught-error-error-calling-method-on-npobject-on-android)
runOnUiThread(new Runnable() {            public void run() {                //Code that interact with UI            }        });    }
但是测试后,发现都没起作用,求救各路大神,小弟在此谢过!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值