中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

android jsbridge怎樣調用原生方法

小樊
81
2024-11-21 14:18:35
欄目: 編程語言

在Android中,通過JavaScript Bridge,您可以從JavaScript代碼調用原生Android方法。以下是實現此功能的步驟:

  1. 創建一個本地對象,供JavaScript調用:

首先,在Android項目中創建一個類,該類將包含要從JavaScript調用的原生方法。確保此類的實例是單例的,以避免創建多個實例。

public class JavaScriptInterface {
    private static JavaScriptInterface instance;

    private JavaScriptInterface() {
    }

    public static synchronized JavaScriptInterface getInstance() {
        if (instance == null) {
            instance = new JavaScriptInterface();
        }
        return instance;
    }

    //這個方法將被JavaScript調用
    @JavascriptInterface
    public void showToast(String message) {
        Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
    }
}

注意我們在方法上添加了@JavascriptInterface注解。這是必需的,因為它告訴WebView啟用JavaScript接口。

  1. 將本地對象添加到WebView:

在您的Activity或Fragment中,將創建的本地對象添加到WebView的JavaScript接口中。

WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);

// 添加JavaScript接口并加載URL
webView.addJavascriptInterface(JavaScriptInterface.getInstance(), "Android");
webView.loadUrl("file:///android_asset/index.html");
  1. 從JavaScript調用原生方法:

現在您可以在HTML文件中的JavaScript代碼中調用剛才創建的原生方法了。

<!DOCTYPE html>
<html>
<head>
    <title>Call Android from JavaScript</title>
    <script type="text/javascript">
        function callAndroidToast() {
            Android.showToast("Hello from JavaScript!");
        }
    </script>
</head>
<body>
    <button onclick="callAndroidToast()">點擊顯示toast</button>
</body>
</html>

當用戶點擊按鈕時,將調用Android原生方法showToast(),顯示一條Toast消息。

0
忻城县| 大名县| 曲松县| 平湖市| 沂源县| 晋江市| 融水| 资阳市| 洪江市| 寿阳县| 石棉县| 鄂托克前旗| 隆德县| 通江县| 石景山区| 新邵县| 托克逊县| 奉新县| 宜君县| 临洮县| 南乐县| 利津县| 美姑县| 汉阴县| 巴林左旗| 弥勒县| 会泽县| 大埔区| 龙胜| 桑日县| 当阳市| 新巴尔虎右旗| 长春市| 涟源市| 南川市| 将乐县| 肃北| 新丰县| 兰溪市| 富宁县| 二连浩特市|