在Android中,使用WebView加载网页时,可以通过JavaScript与Android代码进行交互。为了实现这一目标,需要在Android端设置一个JavaScript接口。JavaScript接口是一个包含一个或多个供JavaScript调用的公共方法的类。下面是如何在Android中创建和使用JavaScript接口的步骤:
- 创建一个包含供JavaScript调用的方法的Java类:
public class MyJavaScriptInterface { private TextView textView; public MyJavaScriptInterface(TextView textView) { this.textView = textView; } //这个方法将被JavaScript调用 @JavascriptInterface public void showToast(String message) { textView.setText(message); } }
注意,需要在方法上添加@JavascriptInterface
注解,这样JavaScript才能调用该方法。
- 将此Java类添加到WebView中:
TextView textView = (TextView) findViewById(R.id.textView); WebView webView = (WebView) findViewById(R.id.webView); // 启用JavaScript支持 WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); // 添加JavaScript接口并加载URL webView.addJavascriptInterface(new MyJavaScriptInterface(textView), "Android"); webView.loadUrl("file:///android_asset/my_page.html");
- 在HTML文件中编写JavaScript代码,调用Android方法:
Call Android from JavaScript
现在,当用户点击按钮时,JavaScript代码将调用Android方法showToast
,并在TextView中显示一条消息。这就是如何在Android中使用JavaScript调用Android方法。