h5怎么调用安卓的方法
时间: 2024-04-25 17:24:13 浏览: 10
在H5页面中调用安卓的方法可以通过JavaScript与原生代码进行交互。具体步骤如下:
1. 在H5页面中,使用JavaScript创建一个与安卓原生代码进行通信的桥梁对象,例如:
```javascript
var bridge = {
// 调用安卓方法
callAndroidMethod: function (methodName, params, callback) {
if (window.android) {
if (typeof params === 'object') {
params = JSON.stringify(params);
}
// 调用安卓原生方法
var result = window.android[methodName](params);
if (callback && typeof callback === 'function') {
// 回调处理返回结果
callback(result);
}
} else {
console.log('安卓方法调用失败');
}
}
};
```
2. 在安卓原生代码中,提供一个与H5通信的接口,例如:
```java
public class WebInterface {
private Context mContext;
public WebInterface(Context context) {
mContext = context;
}
// 供H5调用的方法
@JavascriptInterface
public void callNativeMethod(String methodName, String params) {
// 处理H5传递过来的参数
// 执行相应的操作或调用其他安卓方法
}
}
```
3. 在H5中调用安卓方法,例如:
```javascript
bridge.callAndroidMethod('callNativeMethod', { param1: 'value1', param2: 'value2' }, function(result) {
// 处理安卓返回的结果
});
```
需要注意的是,安卓原生代码需要在加载H5页面前初始化WebInterface对象并将其注入到WebView中,以便H5页面可以调用安卓方法。