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
方法中調用。