evaluateJavaScript
是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript
,请按照以下步骤操作:
- 首先,确保您的项目中已启用对 JavaScript 的支持。在您的
Activity
或Fragment
中,需要设置 WebView 的 WebSettings 以允许 JavaScript:
WebView webView = findViewById(R.id.webView); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true);
- 然后,您可以在 WebView 中执行 JavaScript 代码。为此,请调用
evaluateJavaScript
方法,该方法接受一个回调函数作为参数。当 JavaScript 代码执行完成时,此回调函数将被调用。例如:
webView.evaluateJavaScript("JavaScript_code_here", new ValueCallback() { @Override public void onReceiveValue(String value) { // 在此处处理 JavaScript 代码的返回值 Log.d("JavaScriptResult", "Result: " + value); } });
将 JavaScript_code_here
替换为您要执行的 JavaScript 代码。如果代码不需要返回值,您可以省略第二个参数或将其更改为 null
。
- 如果您需要与 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 代码了。