在android中使用webview让JS调用android的native功能:
WebView webView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
//注册一个类到webview供JS使用
webView.addJavascriptInterface(new WebAppInterface(), "math");
这个类中的函数需要标注上@JavascriptInterface
并且是public
的
public class WebAppInterface {
@JavascriptInterface
public int sum(int a,int b){
return a+b;
}
}
js代码
var = math.sum(1,2)
另外还可以使用shouldOverrideUrlLoading
来拦截自定义协议
使用比较简单 ,就不做说明了。
在android中调用JS函数:
// callJS 是js代码中的方法
mWebView.loadUrl("javascript:callJS()");
//4.4以后使用,更方便可以直接获取返回值
webView.evaluateJavascript("javascript:callJS()", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
}
});
网友评论