Android中WebView與Java代碼的互相調用

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>

JavaScript調用Java方法

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>

Java調用JavaScript方法

本文分享 CSDN - 秦川小將。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。性能

相關文章
相關標籤/搜索