鸿蒙ArkUI-X跨语言调用说明:【平台桥接开发指南(Android)Bridge API】

电子说

1.3w人已加入

描述

@arkui-x.bridge.d.ts (平台桥接)

本模块提供ArkUI端和Android或iOS平台端消息通信的功能,包括数据传输、方法调用和事件调用。需配套平台端API使用,Android侧请参考[BridgePlugin],iOS侧参考[BridgePlugin]。

说明:
开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]点击或者复制转到。
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import bridge from '@arkui-x.bridge';

createBridge

createBridge(bridgeName: string): BridgeObject

定义BridgeObject类。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
idgeNamestring定义桥接名称。

返回值:

类型说明
[BridgeObject]桥接的接口类。

示例:

const bridgeObj: BridgeObject = bridge.createBridge('Bridge');

BridgeObject

桥接的接口类。

callMethod

callMethod(methodName: string, parameters?: Record): Promise;

callMethod(methodName: string, ...parameters: Array): Promise;

调用平台方法。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
methodNamestring方法名称。
parametersRecord方法参数列表。
parametersArray方法参数列表。

返回值:

类型说明
[ResultValue]平台方法执行结果。

错误码:

错误码ID错误信息
1管道不可用。
4方法名称错误。
5方法正确运行,不能重复运行。
6方法未实现。

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.callMethod('nativeMethod').then((data)= >{
    console.log('data = ' + data);
}).catch((err) = > {
    console.error('error = ' + JSON.stringify(err));
});

registerMethod

registerMethod(method: MethodData, callback: AsyncCallback): void

registerMethod(method: MethodData): Promise

注册ArkUI端方法,供Android或iOS平台端调用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
methodMethodData方法数据。
callbackAsyncCallbackcallback方式的回调函数。

错误码:

错误码ID错误信息
1管道不可用。
8方法已经被注册,不允许重复注册。

示例:

function jsMethod() {
  return 'ts return:jsMethod';
}

const bridgeObj = bridge.createBridge('Bridge');
bridgeObj.registerMethod({ name: 'jsMethod', method: jsMethod });

unRegisterMethod

unRegisterMethod(methodName: string, callback: AsyncCallback): void

unRegisterMethod(methodName: string): Promise

移除已注册的ArkUI端的方法。

参数:

参数名类型必填说明
methodstring方法名称。
callbackAsyncCallbackcallback方式的回调函数。

系统能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.unRegisterMethod('jsMethod');

sendMessage

sendMessage(message: Message, callback: AsyncCallback): void

sendMessage(message: Message): Promise

向Platform平台侧发送数据。

参数:

参数名类型必填说明
message[Message]数据。
callbackAsyncCallbackcallback方式的回调函数。

返回值:

类型说明
[Response]Platform平台侧应答数据。

系统能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.sendMessage('jsMessage').then((data)= >{
    console.log('data =' + data);
}).catch((err) = > {
    console.error('error =' + JSON.stringify(err));
});

setMessageListener

setMessageListener(callback: (message: Message) => Response)

设置用于接收Platform平台侧发送数据的回调。

参数:

参数名类型HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿必填说明
callback(message: Message)=>Response回调函数,接收Platform平台侧数据。
message[Message]Platform平台侧数据。

OpenHarmony
系统能力: SystemCapability.ArkUI.ArkUI.Full

示例:

const bridgeObj = bridge.createBridge('Bridge');

bridgeObj.setMessageListener((data) = > {
    console.log('receive data =' + data);
});

S

type S = number | boolean | string | null

说明: 定义桥接使用的基础数据类型。

T

type T = S | Array | Array | Array

说明: 定义桥接使用的基础数据类型的数组类型。

Message

type Message = T | Record

说明: 定义桥接使用结构数据类型。

Parameter

type Parameter = Message

说明: 定义方法参数类型。

Response

type Response = Message

说明: 定义应答的数据类型。

ResultValue

type ResultValue = T | Map

说明: 定义方法返回值的类型。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分