为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。
1、映射Java对象到JavaScript对象上
mWebView = (WebView) findViewById(R.id.wv_content);mWebView.setVerticalScrollbarOverlay(true);final WebSettings settings = mWebView.getSettings();settings.setSupportZoom(true);//WebView启用Javascript脚本执行settings.setJavaScriptEnabled(true);settings.setJavaScriptCanOpenWindowsAutomatically(true);//映射Java对象到一个名为”js2java“的Javascript对象上//JavaScript中可以通过"window.js2java"来调用Java对象的方法mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
/**网页Javascript调用接口**/class JSInvokeClass { public void back() { activity.finish(); }}
2、JavaScript调用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:window.js2java.back();