在Android中,使用WebView加载网页时,可以通过JavaScript与Android代码进行交互。为了实现这一目标,需要在Android端设置一个JavaScript接口。JavaScript接口是一个包含一个或多个供JavaScript调用的公共方法的类。下面是如何在Android中创建和使用JavaScript接口的步骤:
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才能调用该方法。
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");
<!DOCTYPE html>
<html>
<head>
<title>Call Android from JavaScript</title>
<script type="text/javascript">
function callAndroidToast() {
Android.showToast("Hello from JavaScript!");
}
</script>
</head>
<body>
<button onclick="callAndroidToast()">点击我调用Android toast</button>
</body>
</html>
现在,当用户点击按钮时,JavaScript代码将调用Android方法showToast
,并在TextView中显示一条消息。这就是如何在Android中使用JavaScript调用Android方法。