evaluateJavaScript
是 Android 中用于在 WebView 中執行 JavaScript 代碼的方法。以下是如何使用 evaluateJavaScript
的示例:
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.evaluateJavascript("javascript_code_here", new WebView.OnEvaluateJavaScriptListener() {
@Override
public void onEvaluateJavaScript(String script, WebView.ValueCallback<Object> callback) {
// 在這里處理 JavaScript 代碼的執行結果
// 如果腳本返回一個值,可以通過 callback.onReceiveValue(value) 獲取
}
});
將 javascript_code_here
替換為您要執行的 JavaScript 代碼。例如,如果您想在 WebView 中顯示一條消息,可以使用以下代碼:
webView.evaluateJavascript("alert('Hello from JavaScript!')", new WebView.OnEvaluateJavaScriptListener() {
@Override
public void onEvaluateJavaScript(String script, WebView.ValueCallback<Object> callback) {
// 在這里處理 JavaScript 代碼的執行結果
}
});
請注意,evaluateJavaScript
是異步執行的,因此您需要在 onEvaluateJavaScript
方法中處理執行結果。