Android调用js方法
时间: 2024-12-02 22:17:29 浏览: 12
在Android中,如果你想要从Java层调用JavaScript中的函数,通常是在WebView中操作。Android提供了一个机制叫做`addJavascriptInterface`,允许你在Java对象上注册JavaScript可以访问的方法。
首先,你需要创建一个Java类,并为其方法添加`@JavascriptInterface`注解,这表示该方法可以在JavaScript环境中被调用。例如:
```java
public class JsBridge {
@JavascriptInterface
public String callNativeFunction(String data) {
// 在这里处理数据并返回结果
return "Data received from JavaScript: " + data;
}
}
```
然后在WebView初始化时,将这个Java对象绑定到一个JavaScript的变量名上:
```java
WebView webView = findViewById(R.id.web_view);
JsBridge bridge = new JsBridge();
webView.addJavascriptInterface(bridge, "nativeBridge");
webView.loadUrl("your_url_here");
```
在HTML页面的JavaScript中,你可以像这样调用Java方法:
```javascript
function callJavaMethod() {
var data = "Some data to send";
window.nativeBridge.callNativeFunction(data); // 调用Java方法
}
```
注意:`addJavascriptInterface`存在安全风险,因为它允许任意的JavaScript代码直接访问Java对象。尽量避免敏感信息交互,只传递必要的数据。
阅读全文