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
方法中处理执行结果。