安卓怎么和h5交互
时间: 2023-09-15 22:24:16 浏览: 59
在 Android 应用中和 H5 交互主要有两种方式:
1. WebView 加载 H5 页面,通过 JavaScriptInterface 实现双向交互。
Android 应用可以使用 WebView 组件加载 H5 页面,同时通过在 Java 代码中添加 JavaScriptInterface 接口,使得 H5 页面能够调用 Android 应用中的 Java 方法,实现双向交互。
示例代码:
Java:
```java
public class MyJavaScriptInterface {
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}
webView.addJavascriptInterface(new MyJavaScriptInterface(), "Android");
```
JavaScript:
```javascript
Android.showToast("Hello, Android!");
```
2. 使用 Android 应用提供的 WebViewJavascriptBridge 库实现双向交互。
WebViewJavascriptBridge 是一个优秀的 WebView 通信库,它可以在 Android 和 H5 之间建立一座通信桥梁,实现双向通信。
示例代码:
Java:
```java
WebViewJavascriptBridge webViewJavascriptBridge = new WebViewJavascriptBridge(webView, new BridgeHandler() {
@Override
public void handler(String data, CallBackFunction function) {
Log.i("TAG", "handler = " + data);
function.onCallBack("Android 收到 H5 的消息啦!");
}
});
webViewJavascriptBridge.send("Android 发送消息给 H5 啦!", new CallBackFunction() {
@Override
public void onCallBack(String data) {
Log.i("TAG", "onCallBack = " + data);
}
});
```
JavaScript:
```javascript
window.WebViewJavascriptBridge.callHandler('test', 'H5 发送消息给 Android 啦!', function(responseData) {
console.log(responseData);
});
```
以上是两种比较常见的 Android 应用和 H5 交互的方式,可以根据项目需求选择合适的方式进行开发。