jsbridge框架怎么實(shí)現(xiàn)Android與H5交互

小億
220
2024-05-29 16:46:15

JSBridge框架是用來(lái)實(shí)現(xiàn)Android與H5之間的通信的框架,主要通過(guò)調(diào)用Java和JavaScript的方法來(lái)實(shí)現(xiàn)交互。下面是一個(gè)簡(jiǎn)單的示例來(lái)說(shuō)明如何實(shí)現(xiàn)Android與H5的交互:

1.在Android項(xiàng)目中創(chuàng)建一個(gè)JSBridge類,用來(lái)處理Java和JavaScript之間的通信:

public class JSBridge {
    private WebView mWebView;

    public JSBridge(WebView webView) {
        this.mWebView = webView;
    }

    @JavascriptInterface
    public void showToast(String message) {
        Toast.makeText(mWebView.getContext(), message, Toast.LENGTH_SHORT).show();
    }

    public void callJSMethod(String methodName, String param) {
        mWebView.loadUrl("javascript:" + methodName + "('" + param + "')");
    }
}

2.在Activity中初始化WebView,并添加JSBridge類的實(shí)例到WebView中:

WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
JSBridge jsBridge = new JSBridge(webView);
webView.addJavascriptInterface(jsBridge, "JSBridge");
webView.loadUrl("file:///android_asset/index.html");

3.在H5頁(yè)面中調(diào)用Java方法:

<button onclick="JSBridge.showToast('Hello from H5')">Show Toast</button>

通過(guò)以上步驟,就可以實(shí)現(xiàn)Android與H5之間的簡(jiǎn)單交互。在實(shí)際項(xiàng)目中,可以根據(jù)需求擴(kuò)展JSBridge類的功能,實(shí)現(xiàn)更復(fù)雜的交互邏輯。

0