便宜VPS主机精选
提供服务器主机评测信息

Android JSBridge 实战技巧:详细解析如何高效调用原生方法

在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消息。

未经允许不得转载:便宜VPS测评 » Android JSBridge 实战技巧:详细解析如何高效调用原生方法