阅读量:102
evaluateJavaScript 是 Android 中 WebView 类的一个方法,用于在 WebView 中执行 JavaScript 代码
- 首先,确保您的项目中已经添加了 WebView 支持。在
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" />
- 在 Activity(例如
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());
webView.loadUrl("https://example.com");
}
}
- 现在,您可以使用
evaluateJavaScript方法执行 JavaScript 代码。例如,在同一个MainActivity.java文件中添加以下方法:
private void runJavaScriptCode() {
webView.evaluateJavascript("(function() { return 'Hello, World!'; })();", null);
}
这个方法将在 WebView 中执行一个立即执行的 JavaScript 函数,并返回 “Hello, World!” 字符串。您可以根据需要修改或扩展此方法以执行其他 JavaScript 代码。
- 如果您想在某个特定事件(例如按钮点击)时运行 JavaScript 代码,可以将其添加到事件监听器中。例如:
Button runButton = findViewById(R.id.runButton);
runButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runJavaScriptCode();
}
});
现在,当用户点击 “runButton” 按钮时,runJavaScriptCode 方法将被调用,从而在 WebView 中执行 JavaScript 代码。