Android 中可以使用 WebView
来加载并执行 JavaScript 代码。而 evaluateJavascript
是 WebView
的一个方法,用于执行 JavaScript 代码并返回结果。
下面是一个简单的示例代码,演示如何使用 evaluateJavascript
方法:
// 获取 WebView 对象
WebView webView = findViewById(R.id.webView);
// 启用 JavaScript 支持
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
// 加载网页
webView.loadUrl("https://example.com");
// 执行 JavaScript 代码并获取结果
webView.evaluateJavascript("(function() { return 'Hello, world!'; })();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
// 处理返回值
Log.d("WebView", "JavaScript result: " + value);
}
});
在上面的示例中,我们首先获取了 WebView
对象,并启用了 JavaScript 支持。然后加载了一个网页,并使用 evaluateJavascript
方法执行了一个简单的 JavaScript 代码块,该代码块返回了一个字符串 “Hello, world!”。最后,我们使用 ValueCallback
接口接收并处理了 JavaScript 代码的返回值。
需要注意的是,evaluateJavascript
方法可以在 WebView 的任何生命周期方法中调用,但是在页面加载完成之前执行的 JavaScript 代码可能会导致错误。因此,建议在页面加载完成后再调用 evaluateJavascript
方法,例如在 WebViewClient
的 onPageFinished
方法中调用。