evaluateJavaScript
是 Android 中用于在 WebView 中执行 JavaScript 代码的方法。要在 Android 中使用 evaluateJavaScript
,请按照以下步骤操作:
Activity
或 Fragment
中,需要设置 WebView 的 WebSettings 以允许 JavaScript:WebView webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
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
。
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 代码了。