hello.html
Carson_Ho
// JS代码
// Android需要调用的方法
function callJS(){
alert("Android调用了JS的callJS方法");
return 11;
}
Android调用JS方法,有以下两种方式
第一种:
mWebView.loadUrl(“javascript:callJS()”);
第二种:
mWebView.evaluateJavascript(“window.callJS()”, new ValueCallback() {
@Override
public void onReceiveValue(String value) {
//这里为返回值
boolean hasChanged = Boolean.parseBoolean(value);
//todo
Log.i(“===========”,”value=”+value);
}
});
不过第二种方式需要在API19以上
JS调用Android
// 继承自Object类
public class AndroidtoJs extends Object {
// 定义JS需要调用的方法
// 被JS调用的方法必须加入@JavascriptInterface注解
@JavascriptInterface
public void hello(String msg) {
Log.i(“==============”,”JS调用了Android的hello方法”);
}
}
mWebView.addJavascriptInterface(new AndroidtoJs(), “test”);//AndroidtoJS类对象映射到js的test对象
其中hello.html 中的JS定义改为
function callJS(){
alert(“Android调用了JS的callJS方法”);
test.hello(“js调用了android中的hello方法”);
return 11;
}