给我完整的 关于 使用webview 中的JavaScript 调用 java 的代码
时间: 2024-03-02 21:48:46 浏览: 104
Android中实现WebView和JavaScript的互相调用详解
好的,以下是一个简单的示例代码,演示如何在 Android 的 WebView 中使用 JavaScript 调用 Java 方法:
1. 首先,在 Java 中定义一个类,包含一个供 JavaScript 调用的方法:
```java
public class JavaScriptInterface {
private Context context;
public JavaScriptInterface(Context context) {
this.context = context;
}
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}
```
在这个类中,我们定义了一个名为 `showToast` 的方法,用于在 Android 应用中显示一条 Toast 消息。
2. 接下来,在 Activity 中创建一个 WebView 实例,并将 JavaScript 接口对象传递给它:
```java
WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
```
在这个代码中,我们首先启用 WebView 的 JavaScript 功能,然后创建了一个 `JavaScriptInterface` 对象,并将其注册到 WebView 中。我们还将这个接口对象命名为 `Android`,以后在 JavaScript 中使用这个名称来调用它。
3. 最后,在 HTML 中编写 JavaScript 代码,调用 Android 接口的方法:
```html
<button onclick="showToast('Hello, Android!')">Show Toast</button>
<script>
function showToast(message) {
Android.showToast(message);
}
</script>
```
在这个代码中,我们定义了一个按钮,当用户点击它时,将调用 `showToast` 方法。在 JavaScript 中,我们使用 `Android.showToast` 来调用 Android 接口的方法。
这就是一个简单的示例,演示了如何在 Android 的 WebView 中使用 JavaScript 调用 Java 方法。需要注意的是,这个方法需要在 Android 4.2 及以上版本才能使用。
阅读全文