Android4.0 升级到Android4.4 webView与javascript 无法通信

Android4.0 升级到Android4.4 webView与javascript 无法通信

报出的错误:如下

07-30 20:47:59.810: I/chromium(18861): [INFO:CONSOLE(12)] "Uncaught TypeError: Object [object Object] has no method 'download'", source: file:///android_asset/common/js/fileManager.js (12)

后台Java中写的是这个

appView.addJavascriptInterface(new PluginFileManager(OnOffLineActivity.this), "FileManager");

js 中找不到对应的方法:

网上解释:

Android4.2 以前WebView 提供了javascript 调用Java代码的方法,会造成很大的安全漏洞。Android官方在API17后,限制javascript代码只能调用声明了@JavascriptInterface 注解的Java方法。

所以你必须要给每个可供js代码调用的Java方法加一个@JavascriptInterface接口。

 

 

so: 需要修改:在调用对应的方法上加上注解即可:

 

@JavascriptInterface

@SuppressLint("SimpleDateFormat")

public void download(String fileUrl, String fileName, String module_name,

 

可参考

http://www.oschina.net/question/246739_174734

http://blog.csdn.net/cwc455826074/article/details/40616125

猜你喜欢

转载自jia-dojo.iteye.com/blog/2231741