Android js调用java方法
时间: 2023-08-18 07:17:08 浏览: 110
在Android中,您可以使用WebView来加载一个网页,然后通过JavaScript与Java代码进行交互。下面是一个示例:
首先,在您的Java代码中,您需要定义一个类并将其公开给JavaScript使用。例如:
```java
public class MyJavaScriptInterface {
Context mContext;
MyJavaScriptInterface(Context context) {
mContext = context;
}
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
```
在这里,我们定义了一个名为 `MyJavaScriptInterface` 的类,并将其传递给 `Context`,以便我们可以在其中显示Toast消息。我们还定义了一个名为 `showToast` 的方法,并使用 `@JavascriptInterface` 注释将其标记为可以从JavaScript调用。
接下来,在您的Activity中,您需要启用JavaScript,并将您的Java对象添加到WebView中。例如:
```java
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new MyJavaScriptInterface(this), "Android");
webView.loadUrl("file:///android_asset/index.html");
```
在这里,我们首先获取WebView实例,然后启用JavaScript。接下来,我们将 `MyJavaScriptInterface` 实例添加到WebView中,并将其命名为 `Android`,这是JavaScript中将使用的名称。最后,我们使用 `loadUrl` 方法将WebView加载到我们的HTML文件中。
最后,在您的JavaScript代码中,您可以使用以下方式调用Java方法:
```javascript
Android.showToast("Hello World!");
```
在这里,我们使用我们在Java代码中定义的名称 `Android` 来调用 `showToast` 方法,并将消息传递给它。在这种情况下,我们将显示一个Toast消息,显示 "Hello World!"。
阅读全文