由于项目需要,再次使用到了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://*.com/questions/14031635/android-4-2-1-webview-and-javascript-interface-breaks