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() { @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
方法中调用。