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