为了方便网页和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" ) ;
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 ( ) ;
}
}
class JSInvokeClass {
public void back ( ) {
activity. finish ( ) ;
}
}
2、JavaScript调用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:
window.
js2java.
back
(
)
;