Interconnect 应用间通信
应用间通信:send / onMessage
应用间通信:按包名向目标应用(设备上的快应用等)发送文本消息,或接收来自应用的消息
OronBox 只提供传输基础设施——仅支持发送文本消息,没有文件传输、分片或确认协议
send(packageName, data, deviceId?)
向目标应用发送消息;deviceId 省略时发给当前活动设备
await OronBox.interconnect.send('com.example.target', 'hello from plugin');onMessage(callback)
开始监听来自应用的消息,返回停止函数
const stop = await OronBox.interconnect.onMessage(({ packageName, data }) => {
console.info(`Received from ${packageName}: ${data}`);
});
// 停止监听
await stop();完整示例:消息器
globalThis.activate = async (plugin) => {
let target = '';
let message = '';
let received = '';
const { Column, Text, TextField, Button } = OronBox.ui;
OronBox.interconnect.onMessage(({ packageName, data }) => {
received = `[${packageName}] ${data}`;
render();
});
const render = () => OronBox.ui.render(
Column({ gap: 8 }, [
TextField({ value: target, placeholder: 'Target package', onChange: v => { target = v; } }),
TextField({ value: message, placeholder: 'Message', onChange: v => { message = v; } }),
Button('Send', { onClick: () => OronBox.interconnect.send(target, message) }),
Text(received || 'Waiting...'),
]),
);
render();
};权限
在 manifest 中声明 interconnect 权限(中风险)
完整示例里的界面组件需要
ui权限,示例的 manifest 需同时声明interconnect与ui