evaluateJavaScript
是 Android 中用于在 WebView 中執行 JavaScript 代碼的方法。要解析 JavaScript 代碼,您需要遵循以下步驟:
AndroidManifest.xml
文件中添加以下權限:<uses-permission android:name="android.permission.INTERNET" />
activity_main.xml
)中添加一個 WebView 控件:<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
MainActivity.java
)中,初始化 WebView 并啟用 JavaScript 支持:import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
}
}
evaluateJavaScript
方法執行 JavaScript 代碼并獲取結果。例如,如果您想在 WebView 中執行以下 JavaScript 代碼并獲取結果:var result = 1 + 2;
您可以在 MainActivity.java
中這樣做:
webView.evaluateJavascript("(function() { return 1 + 2; })();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
// 在這里處理結果
int result = Integer.parseInt(value);
Log.d("JavaScriptResult", "Result: " + result);
}
});
在這個例子中,我們使用了一個立即執行的匿名函數(IIFE),以避免全局變量污染。onReceiveValue
方法將在 JavaScript 代碼執行完成后被調用,您可以在其中處理結果。
這就是如何在 Android 中使用 evaluateJavaScript
解析 JavaScript 代碼。請注意,為了確保代碼的正確執行,您需要在 WebView 中加載一個包含 JavaScript 的網頁。