ArkUI-X与Android消息通信

360影视 日韩动漫 2025-06-08 22:54 3

摘要:平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考Bridge A

平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考Bridge API,Android侧参考BridgePlugin。

创建平台桥接

1.在ArkUI侧创建平台桥接。指定名称,该名称应与Android侧平台桥接的名称一致。通过创建的该对象即可调用平台桥接的方法。数据可以发送json格式或二进制格式。

// xxx.ets // 导入平台桥接模块 import bridge from '@arkui-x.bridge'; // 创建平台桥接实例 const bridgeImpl = bridge.createBridge('Bridge'); // 创建平台桥接实例(二进制格式) const bridgeImpl = bridge.createBridge('Bridge', BridgeType.BINARY_TYPE);

2.在Android侧创建BridgePlugin类。指定名称,该名称应与ArkUI侧平台桥接的名称一致。通过创建的该对象即可调用平台桥接的方法。

// xxx.java Bridge bridge = new Bridge(this, "Bridge", getBridgeManager); Bridge bridge = new Bridge(this, "Bridge", getBridgeManager, BridgePlugin.BridgeType.BINARY_TYPE);

ArkUI侧向Android侧传递数据

1.ArkUI侧向Android侧传递数据。

// xxx.ets private bridgeImpl = bridge.createBridge('Bridge'); this.bridgeImpl.sendMessage('text').then((res)=>{ // 监听Android侧的回执 console.log('response: ' + res); }).catch((err: Error) => { console.log('error: ' + JSON.stringify(err)); });

2.Android侧接收来自ArkUI侧的数据。

// xxx.java // 创建平台桥接实例(将在since 13废弃,推荐使用新构造方法) public Bridge(Context context, String name, int id) { super(context, name, id); setMessageListener(this); } // 创建平台桥接实例(新) public Bridge(Context context, String name, BridgeManager bridgeManager) { super(context, name, bridgeManager); setMessageListener(this); } // 注册回调,监听ArkUI侧的数据传递 @Override public Object onMessage(Object data) { // 返回回执给ArkUI侧 return "java onMessage success"; }

Android侧向ArkUI侧传递数据

1.Android侧向ArkUI侧发送数据。

// xxx.java String data = { "message", "from", "android" }; bridge.sendMessage(data);

2.ArkUI侧设置回调,用于接收Android侧发送的数据。

// xxx.ets private bridgeImpl = bridge.createBridge('Bridge'); this.bridgeImpl.setMessageListener((message) => { console.log('receive message: ' + message); // 收到消息后,向Android侧发送回执 return "ArkUI receive message success"; });

3.Android侧注册回调,监听ArkUI侧收到数据后的回执。

// xxx.java // 创建平台桥接实例(将在since 13废弃,推荐使用新构造方法) public Bridge(Context context, String name, int id) { super(context, name, id); setMessageListener(this); } // 创建平台桥接实例(新) public Bridge(Context context, String name, BridgeManager bridgeManager) { super(context, name, bridgeManager); setMessageListener(this); } // 注册回调,监听ArkUI侧的回执 @Override public void onMessageResponse(Object data) {}

来源:龙儿筝

相关推荐