Android与h5互调
1,java调用h5的方法:
//javaCallJs(arg) 是js里面写好的方法。
webView.loadUrl(“javascript:javaCallJs(”+”’” +name + “’” +”)”);
2,h5的js调用android的方法
Android代码:
//js 可以通过android暴露的AndroidToJs 调用AndroidAndJsInterface类的任何方法。
webView.addJavascriptInterface(new AndroidAndJsInterface(),"AndroidToJs");
class AndroidAndJsInterface{
@JavascriptInterface
public void toastAndroidInfo(){
Toast.makeText(MainActivity.this, "我是android的代码,我被js调用了", Toast.LENGTH_SHORT).show();
}
}
Js调用代码:
<Button οnclick="window.AndroidToJs.toastAndroidInfo()"/>
针对调用不起来的两个解决方法:
1,把targetSdkVersion设置为16.
2,(推荐),在android的方法前面添加注解:
@JavascriptInterface
public void toastAndroidInfo(){
}