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