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

server/2024/9/24 6:50:33/

@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

参数:

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

返回值:

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

示例:

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

BridgeObject

桥接的接口类。

callMethod

callMethod(methodName: string, parameters?: Record<string, Parameter>): Promise<ResultValue>;

callMethod(methodName: string, ...parameters: Array<any>): Promise<ResultValue>;

调用平台方法。

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

参数:

参数名类型必填说明
methodNamestring方法名称。
parametersRecord<string, Parameter>方法参数列表。
parametersArray<any>方法参数列表。

返回值:

类型说明
[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>): void

registerMethod(method: MethodData): Promise<void>

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

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

参数:

参数名类型必填说明
methodMethodData方法数据。
callbackAsyncCallback<void>callback方式的回调函数。

错误码:

错误码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>): voidunRegisterMethod(methodName: string): Promise<void>

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

参数:

参数名类型必填说明
methodstring方法名称。
callbackAsyncCallback<void>callback方式的回调函数。

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

示例:

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

sendMessage

sendMessage(message: Message, callback: AsyncCallback<Response>): void

sendMessage(message: Message): Promise<Response>

向Platform平台侧发送数据。

参数:

参数名类型必填说明
message[Message]数据。
callbackAsyncCallback<void>callback方式的回调函数。

返回值:

类型说明
[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平台侧数据。


系统能力:  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<number> | Array<boolean> | Array<string>

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

Message

type Message = T | Record<string, T>

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

Parameter

type Parameter = Message

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

Response

type Response = Message

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

ResultValue

type ResultValue = T | Map<string, T>

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

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  


http://www.ppmy.cn/server/43056.html

相关文章

JDBCTemplate介绍

Spring JDBC Spring框架对Spring的简单封装。提供一个JDBCTemplate对象简化JDBC开发 *步骤&#xff1a; 1、导入jar包 2、创建JDBCTemplate对象。依赖于数据源DataSource *JdbcTemplate templatenew JdbcTemplate(ds); 3、调用JdbcTemplate的方法来完成CRUD的操作 *update()&…

数据结构之栈和队列(超详解

目录 一.栈 1.栈的基本概念 2.栈的基本操作 3.栈的储存结构 ①栈的顺序储存 (1)基本概念 (2)代码实现 ②栈的链式储存 (1)基本概念 (2)代码实现 二.队列 1.队列的基本概念 2.队列的基本操作 3.队列的储存结构 ①队列的链式储存 (1)基本概念 ​编辑 (2)代码实现 ②…

2024目前网上最火短剧机器人做法,自动搜索发剧 自动更新资源 自动分享资源

目前整个项目圈子很多的短剧机器人&#xff0c;我写的&#xff0c;自动搜索发剧&#xff0c;自动更新资源&#xff0c;自动分享资源&#xff0c;前段时间大部分做短剧的都是做的短剧分成&#xff0c;我的一个学员做的30W播放量才200块收益&#xff0c;备受启发&#xff0c;我就…

光速入门python的OpenCV

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理python的OpenCV模块的关键知识点 争取用最短的时间入门OpenCV 并且做到笔记功能直接复制使用 OpenCV简介 不浪费时间的介绍: 就是类似于ps操作图片。 至于为什么不直接用ps&#xff0c;因为只有程序能…

Ubuntu 整编 AOSP

文章目录 前言1 准备一台Ubuntu系统电脑2 安装依赖工具3 安装 repo4 下载 AOSP 源码5 整编AOSP6 运行 前言 作为Android应用层开发多年, 一直不了解 Framework和Android系统的运行原理真的说不过去。希望本篇博客可以带你构建自己的Android系统&#xff0c;打开通向 Framework…

M功能-支付平台(三)

target&#xff1a;离开柬埔寨倒计时-221day 前言 今天周六&#xff0c;但是在柬埔寨还是工作日&#xff0c;想着国内的朋友开始休周末就羡慕呀&#xff0c;记不清在这边过了多少个周六了&#xff0c;多到我已经习惯了。而且今天技术部还停电了&#xff0c;真的是热的受不了呀…

Shell编程之免交互

目录 1、Here Document免交互 &#xff08;1&#xff09;Here Document 概述 &#xff08;2&#xff09;免交互执行命令 1&#xff09;免交互read赋值 2&#xff09;免交互修改密码 3&#xff09;免交互统计行数 4&#xff09;免交互创建文件并编辑文件内容 5&#xff0…

Gitee在已有项目基础上创建仓库中遇到的问题和解决

问题一&#xff1a;fatal: remote origin already exists 解释&#xff1a;当前仓库添加了一个名为"origin"的远程仓库配置&#xff0c;此时输入 git remote add origin https://xxx就会提示上面的内容。 解决方案1:移除旧的origin git remote remove origin 解决方案…