4.22 注入js需要加 addjavascriptinterface

由于项目需要,再次使用到了android的webview,webview要加载的页面是html5的页面;

需要有点击webview中的控件的交互,所以需要在android应用中注入一个js对象;

通过webview.addJavaScriptInterface(Object o, String name)方法实现对象的注入;

然后再该对象中定义所需的方法,例如 public void test(String str);

最重要的是还要设置webview支持js;webview.getSetting().setJavaScriptEnable(true);

经过上面的步骤,理应能够在js文件中通过注入名称调用android中类的方法,如 jsObject.test(param);

之前做项目使用的android2.37sdk木有问题,但是现在使用的android4.22sdk就是访问不到所注入对象中的那个方法.....................

查了好久才发现是4.22添加的新规则,如果要使用js调用android类的方法,必须加上一条注解:@JavascriptInterface

参考:http://stackoverflow.com/questions/14031635/android-4-2-1-webview-and-javascript-interface-breaks

原文地址:https://www.cnblogs.com/keanuyaoo/p/3266482.html