Android手機中內置了一款高性能 webkit 內核瀏覽器,在 SDK 中封裝爲一個叫作 WebView 組件。使用該組件來加載JavaScript頁面。javascript
初始設置html
// 支持JavaScript接口,WebViewInterface爲自定義接口類
mWebView.addJavascriptInterface(new WebViewInterface(this), "Android");
WebSettings mWebSettings = mWebView.getSettings();
// 設置支持JavaScript
mWebSettings.setJavaScriptEnabled(true);
自定義接口類,處理JavaScript的調用事件java
public class WebViewInterface {
private OnWebViewClickListener mListener;
public WebViewInterface(OnWebViewClickListener listener) {
this.mListener = listener;
}
@JavascriptInterface
public void callback(boolean check) {
if(mListener != null){
mListener.onCallback(check);
}
}
@JavascriptInterface
public String getString() {
return "Hello WebView !";
}
// 定義回調接口
public interface OnWebViewClickListener {
void onCallback(boolean check);
}
}
1.JavaScript調用Java方法
定義給JavaScript調用的方法web
@JavascriptInterface
public String getString(){
return "Hello WebView !";
}
在JavaScript中調用定義的方法瀏覽器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Java與JavaScript交互</title>
</head>
<body>
<a href="javascript:void(0)" onClick="getMessage()">點擊彈出</a>
<script> function getMessage(){
<!--getString()爲定義的Java方法--> alert(Android.getString()); } </script>
</body>
</html>
2.Java調用JavaScript方法svg
mWebView.loadUrl("javascript:showDialog(\"" + "Hello WebView !" + "\")");
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Java與JavaScript交互</title>
</head>
<body>
<script> function showDialog(message) {
alert(message); } </script>
</body>
</html>
本文分享 CSDN - 秦川小將。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。性能