温馨提示×

android evaluatejavascript 如何处理

小樊
81
2024-11-25 12:36:46
栏目: 编程语言

evaluateJavaScript 是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript,请按照以下步骤操作:

  1. 首先,确保您的项目中已启用对 JavaScript 的支持。在您的 ActivityFragment 中,需要设置 WebView 的 WebSettings 以允许 JavaScript:
WebView webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
  1. 然后,您可以在 WebView 中执行 JavaScript 代码。为此,请调用 evaluateJavaScript 方法,该方法接受一个回调函数作为参数。当 JavaScript 代码执行完成时,此回调函数将被调用。例如:
webView.evaluateJavaScript("JavaScript_code_here", new ValueCallback<String>() {
    @Override
    public void onReceiveValue(String value) {
        // 在此处处理 JavaScript 代码的返回值
        Log.d("JavaScriptResult", "Result: " + value);
    }
});

JavaScript_code_here 替换为您要执行的 JavaScript 代码。如果代码不需要返回值,您可以省略第二个参数或将其更改为 null

  1. 如果您需要与 JavaScript 代码进行双向通信,可以使用 addJavascriptInterface 方法将一个 Java 对象注入到 WebView 中。例如:
public class MyJavaScriptInterface {
    private TextView resultTextView;

    public MyJavaScriptInterface(TextView resultTextView) {
        this.resultTextView = resultTextView;
    }

    @JavascriptInterface
    public void processData(String data) {
        // 在此处处理从 JavaScript 传递过来的数据
        resultTextView.setText(data);
    }
}

// 在 Activity 或 Fragment 中
TextView resultTextView = findViewById(R.id.resultTextView);
MyJavaScriptInterface myJavaScriptInterface = new MyJavaScriptInterface(resultTextView);
webView.addJavascriptInterface(myJavaScriptInterface, "Android");

然后,您可以在 JavaScript 代码中调用此对象的方法,例如:

Android.processData("Hello from JavaScript!");

这样,您就可以在 Android 中使用 evaluateJavaScript 处理 JavaScript 代码了。

0