提交 29950b2e 编写于 作者: Y yangguangzhao

add syscap in js-apis-rpc.md

Signed-off-by: Nyangguangzhao <yangguangzhao1@huawei.com>
上级 1733bf33
...@@ -7,17 +7,12 @@ ...@@ -7,17 +7,12 @@
## 导入模块 ## 导入模块
``` ```
import rpc from '@ohos.rpc'; import rpc from '@ohos.rpc';
``` ```
## 权限列表
## MessageParcel ## MessageParcel
该类提供读写基础类型及数组、IPC对象、接口描述符和自定义序列化对象的方法。 该类提供读写基础类型及数组、IPC对象、接口描述符和自定义序列化对象的方法。
...@@ -29,14 +24,15 @@ create(): MessageParcel ...@@ -29,14 +24,15 @@ create(): MessageParcel
静态方法,创建MessageParcel对象。 静态方法,创建MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| MessageParcel | 返回创建的MessageParcel对象。 | | MessageParcel | 返回创建的MessageParcel对象。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
console.log("RpcClient: data is " + data); console.log("RpcClient: data is " + data);
...@@ -49,9 +45,10 @@ reclaim(): void ...@@ -49,9 +45,10 @@ reclaim(): void
释放不再使用的MessageParcel对象。 释放不再使用的MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
let reply = rpc.MessageParcel.create(); let reply = rpc.MessageParcel.create();
reply.reclaim(); reply.reclaim();
...@@ -63,18 +60,21 @@ reclaim(): void ...@@ -63,18 +60,21 @@ reclaim(): void
writeRemoteObject(object: [IRemoteObject](#iremoteobject)): boolean writeRemoteObject(object: [IRemoteObject](#iremoteobject)): boolean
序列化远程对象并将其写入MessageParcel对象。 序列化远程对象并将其写入MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| object | [IRemoteObject](#iremoteobject) | 是 | 要序列化并写入MessageParcel的远程对象。 | | object | [IRemoteObject](#iremoteobject) | 是 | 要序列化并写入MessageParcel的远程对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -93,14 +93,15 @@ readRemoteObject(): IRemoteObject ...@@ -93,14 +93,15 @@ readRemoteObject(): IRemoteObject
从MessageParcel读取远程对象。此方法用于反序列化MessageParcel对象以生成IRemoteObject。远程对象按写入MessageParcel的顺序读取。 从MessageParcel读取远程对象。此方法用于反序列化MessageParcel对象以生成IRemoteObject。远程对象按写入MessageParcel的顺序读取。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| [IRemoteObject](#iremoteobject) | 读取到的远程对象。 | | [IRemoteObject](#iremoteobject) | 读取到的远程对象。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -120,19 +121,20 @@ writeInterfaceToken(token: string): boolean ...@@ -120,19 +121,20 @@ writeInterfaceToken(token: string): boolean
将接口描述符写入MessageParcel对象。 将接口描述符写入MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| token | string | 是 | 字符串类型描述符。 | | token | string | 是 | 字符串类型描述符。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeInterfaceToken("aaa"); let result = data.writeInterfaceToken("aaa");
...@@ -146,14 +148,15 @@ readInterfaceToken(): string ...@@ -146,14 +148,15 @@ readInterfaceToken(): string
从MessageParcel中读取接口描述符。接口描述符按写入MessageParcel的顺序读取。 从MessageParcel中读取接口描述符。接口描述符按写入MessageParcel的顺序读取。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回读取到的接口描述符。 | | string | 返回读取到的接口描述符。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -171,14 +174,15 @@ getSize(): number ...@@ -171,14 +174,15 @@ getSize(): number
获取当前MessageParcel的数据大小。 获取当前MessageParcel的数据大小。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 获取的MessageParcel的数据大小。以字节为单位。 | | number | 获取的MessageParcel的数据大小。以字节为单位。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let size = data.getSize(); let size = data.getSize();
...@@ -192,14 +196,15 @@ getCapacity(): number ...@@ -192,14 +196,15 @@ getCapacity(): number
获取当前MessageParcel的容量。 获取当前MessageParcel的容量。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 获取的MessageParcel的容量大小。以字节为单位。 | | number | 获取的MessageParcel的容量大小。以字节为单位。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.getCapacity(); let result = data.getCapacity();
...@@ -213,19 +218,20 @@ setSize(size: number): boolean ...@@ -213,19 +218,20 @@ setSize(size: number): boolean
设置MessageParcel实例中包含的数据大小。 设置MessageParcel实例中包含的数据大小。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| size | number | 是 | MessageParcel实例的数据大小。以字节为单位。 | | size | number | 是 | MessageParcel实例的数据大小。以字节为单位。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 设置成功返回true,否则返回false。 | | boolean | 设置成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let setSize = data.setSize(16); let setSize = data.setSize(16);
...@@ -239,19 +245,20 @@ setCapacity(size: number): boolean ...@@ -239,19 +245,20 @@ setCapacity(size: number): boolean
设置MessageParcel实例的存储容量。 设置MessageParcel实例的存储容量。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| size | number | 是 | MessageParcel实例的存储容量。以字节为单位。 | | size | number | 是 | MessageParcel实例的存储容量。以字节为单位。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 设置成功返回true,否则返回false。 | | boolean | 设置成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.setCapacity(100); let result = data.setCapacity(100);
...@@ -265,14 +272,15 @@ getWritableBytes(): number ...@@ -265,14 +272,15 @@ getWritableBytes(): number
获取MessageParcel的可写字节空间。 获取MessageParcel的可写字节空间。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 获取到的MessageParcel的可写字节空间。以字节为单位。 | | number | 获取到的MessageParcel的可写字节空间。以字节为单位。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -290,14 +298,15 @@ getReadableBytes(): number ...@@ -290,14 +298,15 @@ getReadableBytes(): number
获取MessageParcel的可读字节空间。 获取MessageParcel的可读字节空间。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 获取到的MessageParcel的可读字节空间。以字节为单位。 | | number | 获取到的MessageParcel的可读字节空间。以字节为单位。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -315,14 +324,15 @@ getReadPosition(): number ...@@ -315,14 +324,15 @@ getReadPosition(): number
获取MessageParcel的读位置。 获取MessageParcel的读位置。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回MessageParcel实例中的当前读取位置。 | | number | 返回MessageParcel实例中的当前读取位置。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let readPos = data.getReadPosition(); let readPos = data.getReadPosition();
...@@ -336,14 +346,15 @@ getWritePosition(): number ...@@ -336,14 +346,15 @@ getWritePosition(): number
获取MessageParcel的写位置。 获取MessageParcel的写位置。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回MessageParcel实例中的当前写入位置。 | | number | 返回MessageParcel实例中的当前写入位置。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
data.writeInt(10); data.writeInt(10);
...@@ -358,19 +369,20 @@ rewindRead(pos: number): boolean ...@@ -358,19 +369,20 @@ rewindRead(pos: number): boolean
重新偏移读取位置到指定的位置。 重新偏移读取位置到指定的位置。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| pos | number | 是 | 开始读取数据的目标位置。 | | pos | number | 是 | 开始读取数据的目标位置。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果读取位置发生更改,则返回true;否则返回false。 | | boolean | 如果读取位置发生更改,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
data.writeInt(12); data.writeInt(12);
...@@ -389,19 +401,20 @@ rewindWrite(pos: number): boolean ...@@ -389,19 +401,20 @@ rewindWrite(pos: number): boolean
重新偏移写位置到指定的位置。 重新偏移写位置到指定的位置。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| pos | number | 是 | 开始写入数据的目标位置。 | | pos | number | 是 | 开始写入数据的目标位置。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果写入位置更改,则返回true;否则返回false。 | | boolean | 如果写入位置更改,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
data.writeInt(4); data.writeInt(4);
...@@ -418,19 +431,20 @@ writeByte(val: number): boolean ...@@ -418,19 +431,20 @@ writeByte(val: number): boolean
将字节值写入MessageParcel实例。 将字节值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的字节值。 | | val | number | 是 | 要写入的字节值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回成功,否则返回false。 | | boolean | 写入返回成功,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeByte(2); let result = data.writeByte(2);
...@@ -444,14 +458,15 @@ readByte(): number ...@@ -444,14 +458,15 @@ readByte(): number
从MessageParcel实例读取字节值。 从MessageParcel实例读取字节值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回字节值。 | | number | 返回字节值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeByte(2); let result = data.writeByte(2);
...@@ -467,19 +482,20 @@ writeShort(val: number): boolean ...@@ -467,19 +482,20 @@ writeShort(val: number): boolean
将短整数值写入MessageParcel实例。 将短整数值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的短整数值。 | | val | number | 是 | 要写入的短整数值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeShort(8); let result = data.writeShort(8);
...@@ -493,14 +509,15 @@ readShort(): number ...@@ -493,14 +509,15 @@ readShort(): number
从MessageParcel实例读取短整数值。 从MessageParcel实例读取短整数值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回短整数值。 | | number | 返回短整数值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeShort(8); let result = data.writeShort(8);
...@@ -516,19 +533,20 @@ writeInt(val: number): boolean ...@@ -516,19 +533,20 @@ writeInt(val: number): boolean
将整数值写入MessageParcel实例。 将整数值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的整数值。 | | val | number | 是 | 要写入的整数值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回成功,否则返回false。 | | boolean | 写入返回成功,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeInt(10); let result = data.writeInt(10);
...@@ -542,14 +560,15 @@ readInt(): number ...@@ -542,14 +560,15 @@ readInt(): number
从MessageParcel实例读取整数值。 从MessageParcel实例读取整数值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回整数值。 | | number | 返回整数值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeInt(10); let result = data.writeInt(10);
...@@ -565,19 +584,20 @@ writeLong(val: number): boolean ...@@ -565,19 +584,20 @@ writeLong(val: number): boolean
将长整数值写入MessageParcel实例。 将长整数值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的长整数值 | | val | number | 是 | 要写入的长整数值 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeLong(10000); let result = data.writeLong(10000);
...@@ -591,14 +611,15 @@ readLong(): number ...@@ -591,14 +611,15 @@ readLong(): number
从MessageParcel实例中读取长整数值。 从MessageParcel实例中读取长整数值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回长整数值。 | | number | 返回长整数值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeLong(10000); let result = data.writeLong(10000);
...@@ -614,19 +635,20 @@ writeFloat(val: number): boolean ...@@ -614,19 +635,20 @@ writeFloat(val: number): boolean
将浮点值写入MessageParcel实例。 将浮点值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的浮点值。 | | val | number | 是 | 要写入的浮点值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeFloat(1.2); let result = data.writeFloat(1.2);
...@@ -640,14 +662,15 @@ readFloat(): number ...@@ -640,14 +662,15 @@ readFloat(): number
从MessageParcel实例中读取浮点值。 从MessageParcel实例中读取浮点值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回浮点值。 | | number | 返回浮点值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeFloat(1.2); let result = data.writeFloat(1.2);
...@@ -663,19 +686,20 @@ writeDouble(val: number): boolean ...@@ -663,19 +686,20 @@ writeDouble(val: number): boolean
将双精度浮点值写入MessageParcel实例。 将双精度浮点值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的双精度浮点值。 | | val | number | 是 | 要写入的双精度浮点值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeDouble(10.2); let result = data.writeDouble(10.2);
...@@ -689,14 +713,15 @@ readDouble(): number ...@@ -689,14 +713,15 @@ readDouble(): number
从MessageParcel实例读取双精度浮点值。 从MessageParcel实例读取双精度浮点值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回双精度浮点值。 | | number | 返回双精度浮点值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeDouble(10.2); let result = data.writeDouble(10.2);
...@@ -712,19 +737,20 @@ writeBoolean(val: boolean): boolean ...@@ -712,19 +737,20 @@ writeBoolean(val: boolean): boolean
将布尔值写入MessageParcel实例。 将布尔值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | boolean | 是 | 要写入的布尔值。 | | val | boolean | 是 | 要写入的布尔值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeBoolean(false); let result = data.writeBoolean(false);
...@@ -738,14 +764,15 @@ readBoolean(): boolean ...@@ -738,14 +764,15 @@ readBoolean(): boolean
从MessageParcel实例读取布尔值。 从MessageParcel实例读取布尔值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 返回读取到的布尔值。 | | boolean | 返回读取到的布尔值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeBoolean(false); let result = data.writeBoolean(false);
...@@ -761,19 +788,20 @@ writeChar(val: number): boolean ...@@ -761,19 +788,20 @@ writeChar(val: number): boolean
将单个字符值写入MessageParcel实例。 将单个字符值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | number | 是 | 要写入的单个字符值。 | | val | number | 是 | 要写入的单个字符值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeChar('a'); let result = data.writeChar('a');
...@@ -787,14 +815,15 @@ readChar(): number ...@@ -787,14 +815,15 @@ readChar(): number
从MessageParcel实例中读取单个字符值。 从MessageParcel实例中读取单个字符值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回单个字符值。 | | number | 返回单个字符值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeChar('a'); let result = data.writeChar('a');
...@@ -810,19 +839,20 @@ writeString(val: string): boolean ...@@ -810,19 +839,20 @@ writeString(val: string): boolean
将字符串值写入MessageParcel实例。 将字符串值写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | string | 是 | 要写入的字符串值。 | | val | string | 是 | 要写入的字符串值。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeString('abc'); let result = data.writeString('abc');
...@@ -836,14 +866,15 @@ readString(): string ...@@ -836,14 +866,15 @@ readString(): string
从MessageParcel实例读取字符串值。 从MessageParcel实例读取字符串值。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回字符串值。 | | string | 返回字符串值。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeString('abc'); let result = data.writeString('abc');
...@@ -859,19 +890,20 @@ writeSequenceable(val: Sequenceable): boolean ...@@ -859,19 +890,20 @@ writeSequenceable(val: Sequenceable): boolean
将自定义序列化对象写入MessageParcel实例。 将自定义序列化对象写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| val | [Sequenceable](#sequenceable) | 是 | 要写入的可序列对象。 | | val | [Sequenceable](#sequenceable) | 是 | 要写入的可序列对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -902,19 +934,20 @@ readSequenceable(dataIn: Sequenceable) : boolean ...@@ -902,19 +934,20 @@ readSequenceable(dataIn: Sequenceable) : boolean
从MessageParcel实例中读取成员变量到指定的对象(dataIn)。 从MessageParcel实例中读取成员变量到指定的对象(dataIn)。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | [Sequenceable](#sequenceable) | 是 | 需要从MessageParcel读取成员变量的对象。 | | dataIn | [Sequenceable](#sequenceable) | 是 | 需要从MessageParcel读取成员变量的对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果反序列成功,则返回true;否则返回false。 | | boolean | 如果反序列成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -948,19 +981,20 @@ writeByteArray(byteArray: number[]): boolean ...@@ -948,19 +981,20 @@ writeByteArray(byteArray: number[]): boolean
将字节数组写入MessageParcel实例。 将字节数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| byteArray | number[] | 是 | 要写入的字节数组。 | | byteArray | number[] | 是 | 要写入的字节数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]); let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]);
...@@ -975,14 +1009,15 @@ readByteArray(dataIn: number[]) : void ...@@ -975,14 +1009,15 @@ readByteArray(dataIn: number[]) : void
从MessageParcel实例读取字节数组。 从MessageParcel实例读取字节数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的字节数组。 | | dataIn | number[] | 是 | 要读取的字节数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]); let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]);
...@@ -999,14 +1034,15 @@ readByteArray(): number[] ...@@ -999,14 +1034,15 @@ readByteArray(): number[]
从MessageParcel实例中读取字节数组。 从MessageParcel实例中读取字节数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回字节数组。 | | number[] | 返回字节数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]); let ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]);
...@@ -1023,19 +1059,20 @@ writeShortArray(shortArray: number[]): boolean ...@@ -1023,19 +1059,20 @@ writeShortArray(shortArray: number[]): boolean
将短整数数组写入MessageParcel实例。 将短整数数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| shortArray | number[] | 是 | 要写入的短整数数组。 | | shortArray | number[] | 是 | 要写入的短整数数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]); let result = data.writeShortArray([11, 12, 13]);
...@@ -1049,14 +1086,15 @@ readShortArray(dataIn: number[]) : void ...@@ -1049,14 +1086,15 @@ readShortArray(dataIn: number[]) : void
从MessageParcel实例中读取短整数数组。 从MessageParcel实例中读取短整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的短整数数组。 | | dataIn | number[] | 是 | 要读取的短整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]); let result = data.writeShortArray([11, 12, 13]);
...@@ -1072,14 +1110,15 @@ readShortArray(): number[] ...@@ -1072,14 +1110,15 @@ readShortArray(): number[]
从MessageParcel实例中读取短整数数组。 从MessageParcel实例中读取短整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回短整数数组。 | | number[] | 返回短整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]); let result = data.writeShortArray([11, 12, 13]);
...@@ -1095,19 +1134,20 @@ writeIntArray(intArray: number[]): boolean ...@@ -1095,19 +1134,20 @@ writeIntArray(intArray: number[]): boolean
将整数数组写入MessageParcel实例。 将整数数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| intArray | number[] | 是 | 要写入的整数数组。 | | intArray | number[] | 是 | 要写入的整数数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]); let result = data.writeIntArray([100, 111, 112]);
...@@ -1121,14 +1161,15 @@ readIntArray(dataIn: number[]) : void ...@@ -1121,14 +1161,15 @@ readIntArray(dataIn: number[]) : void
从MessageParcel实例中读取整数数组。 从MessageParcel实例中读取整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的整数数组。 | | dataIn | number[] | 是 | 要读取的整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]); let result = data.writeIntArray([100, 111, 112]);
...@@ -1144,14 +1185,15 @@ readIntArray(): number[] ...@@ -1144,14 +1185,15 @@ readIntArray(): number[]
从MessageParcel实例中读取整数数组。 从MessageParcel实例中读取整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回整数数组。 | | number[] | 返回整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]); let result = data.writeIntArray([100, 111, 112]);
...@@ -1167,19 +1209,20 @@ writeLongArray(longArray: number[]): boolean ...@@ -1167,19 +1209,20 @@ writeLongArray(longArray: number[]): boolean
将长整数数组写入MessageParcel实例。 将长整数数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| longArray | number[] | 是 | 要写入的长整数数组。 | | longArray | number[] | 是 | 要写入的长整数数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]); let result = data.writeLongArray([1111, 1112, 1113]);
...@@ -1193,14 +1236,15 @@ readLongArray(dataIn: number[]) : void ...@@ -1193,14 +1236,15 @@ readLongArray(dataIn: number[]) : void
从MessageParcel实例读取长整数数组。 从MessageParcel实例读取长整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的长整数数组。 | | dataIn | number[] | 是 | 要读取的长整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]); let result = data.writeLongArray([1111, 1112, 1113]);
...@@ -1216,14 +1260,15 @@ readLongArray(): number[] ...@@ -1216,14 +1260,15 @@ readLongArray(): number[]
从MessageParcel实例中读取长整数数组。 从MessageParcel实例中读取长整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回长整数数组。 | | number[] | 返回长整数数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]); let result = data.writeLongArray([1111, 1112, 1113]);
...@@ -1239,19 +1284,20 @@ writeFloatArray(floatArray: number[]): boolean ...@@ -1239,19 +1284,20 @@ writeFloatArray(floatArray: number[]): boolean
将浮点数组写入MessageParcel实例。 将浮点数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| floatArray | number[] | 是 | 要写入的浮点数组。 | | floatArray | number[] | 是 | 要写入的浮点数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]); let result = data.writeFloatArray([1.2, 1.3, 1.4]);
...@@ -1265,14 +1311,16 @@ readFloatArray(dataIn: number[]) : void ...@@ -1265,14 +1311,16 @@ readFloatArray(dataIn: number[]) : void
从MessageParcel实例中读取浮点数组。 从MessageParcel实例中读取浮点数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的浮点数组。 | | dataIn | number[] | 是 | 要读取的浮点数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]); let result = data.writeFloatArray([1.2, 1.3, 1.4]);
...@@ -1288,14 +1336,15 @@ readFloatArray(): number[] ...@@ -1288,14 +1336,15 @@ readFloatArray(): number[]
从MessageParcel实例中读取浮点数组。 从MessageParcel实例中读取浮点数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回浮点数组。 | | number[] | 返回浮点数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]); let result = data.writeFloatArray([1.2, 1.3, 1.4]);
...@@ -1311,19 +1360,20 @@ writeDoubleArray(doubleArray: number[]): boolean ...@@ -1311,19 +1360,20 @@ writeDoubleArray(doubleArray: number[]): boolean
将双精度浮点数组写入MessageParcel实例。 将双精度浮点数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| doubleArray | number[] | 是 | 要写入的双精度浮点数组。 | | doubleArray | number[] | 是 | 要写入的双精度浮点数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入返回true,否则返回false。 | | boolean | 写入返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]); let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
...@@ -1337,14 +1387,15 @@ readDoubleArray(dataIn: number[]) : void ...@@ -1337,14 +1387,15 @@ readDoubleArray(dataIn: number[]) : void
从MessageParcel实例中读取双精度浮点数组。 从MessageParcel实例中读取双精度浮点数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | number[] | 是 | 要读取的双精度浮点数组。 | | dataIn | number[] | 是 | 要读取的双精度浮点数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]); let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
...@@ -1360,14 +1411,15 @@ readDoubleArray(): number[] ...@@ -1360,14 +1411,15 @@ readDoubleArray(): number[]
从MessageParcel实例读取双精度浮点数组。 从MessageParcel实例读取双精度浮点数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回双精度浮点数组。 | | number[] | 返回双精度浮点数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]); let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
...@@ -1383,19 +1435,20 @@ writeBooleanArray(booleanArray: boolean[]): boolean ...@@ -1383,19 +1435,20 @@ writeBooleanArray(booleanArray: boolean[]): boolean
将布尔数组写入MessageParcel实例。 将布尔数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| booleanArray | boolean[] | 是 | 要写入的布尔数组。 | | booleanArray | boolean[] | 是 | 要写入的布尔数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]); let result = data.writeBooleanArray([false, true, false]);
...@@ -1409,14 +1462,15 @@ readBooleanArray(dataIn: boolean[]) : void ...@@ -1409,14 +1462,15 @@ readBooleanArray(dataIn: boolean[]) : void
从MessageParcel实例中读取布尔数组。 从MessageParcel实例中读取布尔数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | boolean[] | 是 | 要读取的布尔数组。 | | dataIn | boolean[] | 是 | 要读取的布尔数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]); let result = data.writeBooleanArray([false, true, false]);
...@@ -1432,13 +1486,14 @@ readBooleanArray(): boolean[] ...@@ -1432,13 +1486,14 @@ readBooleanArray(): boolean[]
从MessageParcel实例中读取布尔数组。 从MessageParcel实例中读取布尔数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean[] | 返回布尔数组。 | | boolean[] | 返回布尔数组。 |
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]); let result = data.writeBooleanArray([false, true, false]);
...@@ -1454,19 +1509,20 @@ writeCharArray(charArray: number[]): boolean ...@@ -1454,19 +1509,20 @@ writeCharArray(charArray: number[]): boolean
将单个字符数组写入MessageParcel实例。 将单个字符数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| charArray | number[] | 是 | 要写入的单个字符数组。 | | charArray | number[] | 是 | 要写入的单个字符数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeCharArray(['a', 'b', 'c']); let result = data.writeCharArray(['a', 'b', 'c']);
...@@ -1480,14 +1536,15 @@ readCharArray(dataIn: boolean[]) : void ...@@ -1480,14 +1536,15 @@ readCharArray(dataIn: boolean[]) : void
从MessageParcel实例中读取单个字符数组。 从MessageParcel实例中读取单个字符数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | boolean[] | 是 | 要读取的单个字符数组。 | | dataIn | boolean[] | 是 | 要读取的单个字符数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeCharArray(['a', 'b', 'c']); let result = data.writeCharArray(['a', 'b', 'c']);
...@@ -1503,14 +1560,15 @@ readCharArray(): boolean[] ...@@ -1503,14 +1560,15 @@ readCharArray(): boolean[]
从MessageParcel实例读取单个字符数组。 从MessageParcel实例读取单个字符数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean[] | 返回单个字符数组。 | | boolean[] | 返回单个字符数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeCharArray(['a', 'b', 'c']); let result = data.writeCharArray(['a', 'b', 'c']);
...@@ -1526,19 +1584,20 @@ writeStringArray(stringArray: string[]): boolean ...@@ -1526,19 +1584,20 @@ writeStringArray(stringArray: string[]): boolean
将字符串数组写入MessageParcel实例。 将字符串数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| stringArray | string[] | 是 | 要写入的字符串数组。 | | stringArray | string[] | 是 | 要写入的字符串数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]); let result = data.writeStringArray(["abc", "def"]);
...@@ -1552,14 +1611,15 @@ readStringArray(dataIn: string[]) : void ...@@ -1552,14 +1611,15 @@ readStringArray(dataIn: string[]) : void
从MessageParcel实例读取字符串数组。 从MessageParcel实例读取字符串数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | string[] | 是 | 要读取的字符串数组。 | | dataIn | string[] | 是 | 要读取的字符串数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]); let result = data.writeStringArray(["abc", "def"]);
...@@ -1575,14 +1635,15 @@ readStringArray(): string[] ...@@ -1575,14 +1635,15 @@ readStringArray(): string[]
从MessageParcel实例读取字符串数组。 从MessageParcel实例读取字符串数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string[] | 返回字符串数组。 | | string[] | 返回字符串数组。 |
- 示例 - 示例
``` ```
let data = rpc.MessageParcel.create(); let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]); let result = data.writeStringArray(["abc", "def"]);
...@@ -1598,9 +1659,10 @@ writeNoException(): void ...@@ -1598,9 +1659,10 @@ writeNoException(): void
向MessageParcel写入“指示未发生异常”的信息。 向MessageParcel写入“指示未发生异常”的信息。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -1626,9 +1688,10 @@ readException(): void ...@@ -1626,9 +1688,10 @@ readException(): void
从MessageParcel中读取异常。 从MessageParcel中读取异常。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -1680,19 +1743,20 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean ...@@ -1680,19 +1743,20 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean
将可序列化对象数组写入MessageParcel实例。 将可序列化对象数组写入MessageParcel实例。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| sequenceableArray | Sequenceable[] | 是 | 要写入的可序列化对象数组。 | | sequenceableArray | Sequenceable[] | 是 | 要写入的可序列化对象数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 写入成功返回true,否则返回false。 | | boolean | 写入成功返回true,否则返回false。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -1726,14 +1790,15 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void ...@@ -1726,14 +1790,15 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void
从MessageParcel实例读取可序列化对象数组。 从MessageParcel实例读取可序列化对象数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| sequenceableArray | Sequenceable[] | 是 | 要读取的可序列化对象数组。 | | sequenceableArray | Sequenceable[] | 是 | 要读取的可序列化对象数组。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -1769,19 +1834,20 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean ...@@ -1769,19 +1834,20 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean
将IRemoteObject对象数组写入MessageParcel。 将IRemoteObject对象数组写入MessageParcel。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| objectArray | IRemoteObject[] | 是 | 要写入MessageParcel的IRemoteObject对象数组。 | | objectArray | IRemoteObject[] | 是 | 要写入MessageParcel的IRemoteObject对象数组。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果IRemoteObject对象数组成功写入MessageParcel,则返回true;如果对象为null或数组写入MessageParcel失败,则返回false。 | | boolean | 如果IRemoteObject对象数组成功写入MessageParcel,则返回true;如果对象为null或数组写入MessageParcel失败,则返回false。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -1802,14 +1868,15 @@ readRemoteObjectArray(objects: IRemoteObject[]): void ...@@ -1802,14 +1868,15 @@ readRemoteObjectArray(objects: IRemoteObject[]): void
从MessageParcel读取IRemoteObject对象数组。 从MessageParcel读取IRemoteObject对象数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| objects | IRemoteObject[] | 是 | 从MessageParcel读取的IRemoteObject对象数组。 | | objects | IRemoteObject[] | 是 | 从MessageParcel读取的IRemoteObject对象数组。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -1831,14 +1898,15 @@ readRemoteObjectArray(): IRemoteObject[] ...@@ -1831,14 +1898,15 @@ readRemoteObjectArray(): IRemoteObject[]
从MessageParcel读取IRemoteObject对象数组。 从MessageParcel读取IRemoteObject对象数组。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| IRemoteObject[] | 返回IRemoteObject对象数组。 | | IRemoteObject[] | 返回IRemoteObject对象数组。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -1861,14 +1929,15 @@ static closeFileDescriptor(fd: number): void ...@@ -1861,14 +1929,15 @@ static closeFileDescriptor(fd: number): void
关闭给定的文件描述符。 关闭给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| fd | number | 是 | 要关闭的文件描述符。 | | fd | number | 是 | 要关闭的文件描述符。 |
- 示例 - 示例
``` ```
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let filePath = "path/to/file"; let filePath = "path/to/file";
...@@ -1883,19 +1952,20 @@ static dupFileDescriptor(fd: number) :number ...@@ -1883,19 +1952,20 @@ static dupFileDescriptor(fd: number) :number
复制给定的文件描述符。 复制给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| fd | number | 是 | 表示已存在的文件描述符。 | | fd | number | 是 | 表示已存在的文件描述符。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回新的文件描述符。 | | number | 返回新的文件描述符。 |
- 示例 - 示例
``` ```
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let filePath = "path/to/file"; let filePath = "path/to/file";
...@@ -1910,14 +1980,15 @@ containFileDescriptors(): boolean ...@@ -1910,14 +1980,15 @@ containFileDescriptors(): boolean
检查此MessageParcel对象是否包含文件描述符。 检查此MessageParcel对象是否包含文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果此MessageParcel对象包含文件描述符,则返回true;否则返回false。 | | boolean | 如果此MessageParcel对象包含文件描述符,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
...@@ -1937,19 +2008,20 @@ writeFileDescriptor(fd: number): boolean ...@@ -1937,19 +2008,20 @@ writeFileDescriptor(fd: number): boolean
写入文件描述符到MessageParcel。 写入文件描述符到MessageParcel。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| fd | number | 是 | 文件描述符。 | | fd | number | 是 | 文件描述符。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
...@@ -1966,14 +2038,15 @@ readFileDescriptor(): number ...@@ -1966,14 +2038,15 @@ readFileDescriptor(): number
从MessageParcel中读取文件描述符。 从MessageParcel中读取文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回文件描述符。 | | number | 返回文件描述符。 |
- 示例 - 示例
``` ```
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
...@@ -1991,19 +2064,20 @@ writeAshmem(ashmem: Ashmem): boolean ...@@ -1991,19 +2064,20 @@ writeAshmem(ashmem: Ashmem): boolean
将指定的匿名共享对象写入此MessageParcel。 将指定的匿名共享对象写入此MessageParcel。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| ashmem | Ashmem | 是 | 要写入MessageParcel的匿名共享对象。 | | ashmem | Ashmem | 是 | 要写入MessageParcel的匿名共享对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果匿名共享对象成功写入此MessageParcel,则返回true;否则返回false。 | | boolean | 如果匿名共享对象成功写入此MessageParcel,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024);
...@@ -2018,14 +2092,15 @@ readAshmem(): Ashmem ...@@ -2018,14 +2092,15 @@ readAshmem(): Ashmem
从MessageParcel读取匿名共享对象。 从MessageParcel读取匿名共享对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Ashmem | 返回匿名共享对象。 | | Ashmem | 返回匿名共享对象。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024);
...@@ -2042,14 +2117,15 @@ getRawDataCapacity(): number ...@@ -2042,14 +2117,15 @@ getRawDataCapacity(): number
获取MessageParcel可以容纳的最大原始数据量。 获取MessageParcel可以容纳的最大原始数据量。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回MessageParcel可以容纳的最大原始数据量,即128&nbsp;Mb。 | | number | 返回MessageParcel可以容纳的最大原始数据量,即128&nbsp;Mb。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let result = parcel.getRawDataCapacity(); let result = parcel.getRawDataCapacity();
...@@ -2063,20 +2139,21 @@ writeRawData(rawData: number[], size: number): boolean ...@@ -2063,20 +2139,21 @@ writeRawData(rawData: number[], size: number): boolean
将原始数据写入MessageParcel对象。 将原始数据写入MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| rawData | number[] | 是 | 要写入的原始数据。 | | rawData | number[] | 是 | 要写入的原始数据。 |
| size | number | 是 | 发送的原始数据大小,以字节为单位。 | | size | number | 是 | 发送的原始数据大小,以字节为单位。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let arr = new Int8Array([1, 2, 3, 4, 5]); let arr = new Int8Array([1, 2, 3, 4, 5]);
...@@ -2091,19 +2168,20 @@ readRawData(size: number): number[] ...@@ -2091,19 +2168,20 @@ readRawData(size: number): number[]
从MessageParcel读取原始数据。 从MessageParcel读取原始数据。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| size | number | 是 | 要读取的原始数据的大小。 | | size | number | 是 | 要读取的原始数据的大小。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回原始数据(以字节为单位)。 | | number[] | 返回原始数据(以字节为单位)。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let arr = new Int8Array([1, 2, 3, 4, 5]); let arr = new Int8Array([1, 2, 3, 4, 5]);
...@@ -2120,14 +2198,15 @@ getDataVersion(): number ...@@ -2120,14 +2198,15 @@ getDataVersion(): number
从MessageParcel对象返回数据格式版本。 从MessageParcel对象返回数据格式版本。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 从MessageParcel返回数据格式版本。 | | number | 从MessageParcel返回数据格式版本。 |
- 示例 - 示例
``` ```
let parcel = new rpc.MessageParcel(); let parcel = new rpc.MessageParcel();
let version = parcel.getDataVersion(); let version = parcel.getDataVersion();
...@@ -2141,14 +2220,15 @@ updateDataVersion(proxy: IRemoteObject): void ...@@ -2141,14 +2220,15 @@ updateDataVersion(proxy: IRemoteObject): void
将远程对象数据格式版本更新到MessageParcel对象。 将远程对象数据格式版本更新到MessageParcel对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| proxy | IRemoteObject | 是 | 使用该MessageParcel对象发送请求的远程对象。 | | proxy | IRemoteObject | 是 | 使用该MessageParcel对象发送请求的远程对象。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2185,18 +2265,20 @@ marshalling(dataOut: MessageParcel): boolean ...@@ -2185,18 +2265,20 @@ marshalling(dataOut: MessageParcel): boolean
将此可序列对象封送到MessageParcel中。 将此可序列对象封送到MessageParcel中。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataOut | [MessageParcel](#messageparcel) | 是 | 可序列对象将被封送到的MessageParcel对象。 | | dataOut | [MessageParcel](#messageparcel) | 是 | 可序列对象将被封送到的MessageParcel对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果封送成功,则返回true;否则返回false。 | | boolean | 如果封送成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -2230,18 +2312,20 @@ unmarshalling(dataIn: MessageParcel) : boolean ...@@ -2230,18 +2312,20 @@ unmarshalling(dataIn: MessageParcel) : boolean
从MessageParcel中解封此可序列对象。 从MessageParcel中解封此可序列对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataIn | [MessageParcel](#messageparcel) | 是 | 已将可序列对象封送到其中的MessageParcel对象。 | | dataIn | [MessageParcel](#messageparcel) | 是 | 已将可序列对象封送到其中的MessageParcel对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果可序列化成功,则返回true;否则返回false。 | | boolean | 如果可序列化成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class MySequenceable { class MySequenceable {
constructor(num, string) { constructor(num, string) {
...@@ -2280,13 +2364,15 @@ asObject(): IRemoteObject ...@@ -2280,13 +2364,15 @@ asObject(): IRemoteObject
需派生类实现,获取代理或远端对象。 需派生类实现,获取代理或远端对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| [IRemoteObject](#iremoteobject) | 如果调用者是[RemoteObject](#ashmem8)对象,则直接返回本身;如果调用者是[RemoteProxy](#remoteproxy)对象,则返回它的持有者[IRemoteObject](#iremoteobject)。 | | [IRemoteObject](#iremoteobject) | 如果调用者是[RemoteObject](#ashmem8)对象,则直接返回本身;如果调用者是[RemoteProxy](#remoteproxy)对象,则返回它的持有者[IRemoteObject](#iremoteobject)。 |
- 示例 - 示例
``` ```
class TestAbility extends rpc.RemoteObject { class TestAbility extends rpc.RemoteObject {
asObject() { asObject() {
...@@ -2296,7 +2382,7 @@ asObject(): IRemoteObject ...@@ -2296,7 +2382,7 @@ asObject(): IRemoteObject
``` ```
- 示例 - 示例
``` ```
class TestProxy { class TestProxy {
constructor(remote) { constructor(remote) {
...@@ -2320,8 +2406,10 @@ onRemoteDied(): void ...@@ -2320,8 +2406,10 @@ onRemoteDied(): void
在成功添加死亡通知订阅后,当远端对象死亡时,将自动调用本方法。 在成功添加死亡通知订阅后,当远端对象死亡时,将自动调用本方法。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
class MyDeathRecipient { class MyDeathRecipient {
onRemoteDied() { onRemoteDied() {
...@@ -2335,12 +2423,14 @@ onRemoteDied(): void ...@@ -2335,12 +2423,14 @@ onRemoteDied(): void
发送请求的响应结果。 发送请求的响应结果。
| 参数 | 值 | 说明 | **系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 参数 | 值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| errCode | number | 错误码。 | | errCode | number | 错误码。 |
| code | number | 消息代码。 | | code | number | 消息代码。 |
| data | MessageParcel | 发送给对端进程的MessageParcel对象。 | | data | MessageParcel | 发送给对端进程的MessageParcel对象。 |
| reply | MessageParcel | 对端进程返回的MessageParcel对象。 | | reply | MessageParcel | 对端进程返回的MessageParcel对象。 |
## IRemoteObject ## IRemoteObject
...@@ -2354,15 +2444,17 @@ queryLocalInterface(descriptor: string): IRemoteBroker ...@@ -2354,15 +2444,17 @@ queryLocalInterface(descriptor: string): IRemoteBroker
查询接口。 查询接口。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| descriptor | string | 是 | 接口描述符的字符串。 | | descriptor | string | 是 | 接口描述符的字符串。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| IRemoteBroker | 返回绑定到指定接口描述符的IRemoteBroker对象。 | | IRemoteBroker | 返回绑定到指定接口描述符的IRemoteBroker对象。 |
### sendRequest ### sendRequest
...@@ -2373,18 +2465,20 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options ...@@ -2373,18 +2465,20 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> | | Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> |
### sendRequest<sup>8+</sup> ### sendRequest<sup>8+</sup>
...@@ -2393,14 +2487,16 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me ...@@ -2393,14 +2487,16 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| callback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 | | callback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 |
### addDeathrecipient ### addDeathrecipient
...@@ -2409,16 +2505,18 @@ addDeathRecipient(recipient: DeathRecipient, flags: number): boolean ...@@ -2409,16 +2505,18 @@ addDeathRecipient(recipient: DeathRecipient, flags: number): boolean
注册用于接收远程对象死亡通知的回调。如果与RemoteProxy对象匹配的远程对象进程死亡,则调用此方法。 注册用于接收远程对象死亡通知的回调。如果与RemoteProxy对象匹配的远程对象进程死亡,则调用此方法。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| recipient | [DeathRecipient](#deathrecipient) | 是 | 要注册的回调。 | | recipient | [DeathRecipient](#deathrecipient) | 是 | 要注册的回调。 |
| flags | number | 是 | 死亡通知标志。 | | flags | number | 是 | 死亡通知标志。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果回调注册成功,则返回true;否则返回false。 | | boolean | 如果回调注册成功,则返回true;否则返回false。 |
### removeDeathRecipient ### removeDeathRecipient
...@@ -2427,16 +2525,18 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean ...@@ -2427,16 +2525,18 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean
注销用于接收远程对象死亡通知的回调。 注销用于接收远程对象死亡通知的回调。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| recipient | [DeathRecipient](#deathrecipient) | 是 | 要注销的回调。 | | recipient | [DeathRecipient](#deathrecipient) | 是 | 要注销的回调。 |
| flags | number | 是 | 死亡通知标志。 | | flags | number | 是 | 死亡通知标志。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果回调成功注销,则返回true;否则返回false。 | | boolean | 如果回调成功注销,则返回true;否则返回false。 |
### getInterfaceDescriptor ### getInterfaceDescriptor
...@@ -2445,10 +2545,12 @@ getInterfaceDescriptor(): string ...@@ -2445,10 +2545,12 @@ getInterfaceDescriptor(): string
获取对象的接口描述符。接口描述符为字符串。 获取对象的接口描述符。接口描述符为字符串。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回接口描述符。 | | string | 返回接口描述符。 |
### isObjectDead ### isObjectDead
...@@ -2457,10 +2559,12 @@ isObjectDead(): boolean ...@@ -2457,10 +2559,12 @@ isObjectDead(): boolean
检查当前对象是否死亡。 检查当前对象是否死亡。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果对象已死亡,则返回true;否则返回false。 | | boolean | 如果对象已死亡,则返回true;否则返回false。 |
## RemoteProxy ## RemoteProxy
...@@ -2476,22 +2580,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options ...@@ -2476,22 +2580,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> | | Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> |
- 示例<sup>7</sup> - 示例<sup>7</sup>
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2536,7 +2642,7 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options ...@@ -2536,7 +2642,7 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
``` ```
- 示例<sup>8+</sup> - 示例<sup>8+</sup>
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2588,18 +2694,19 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me ...@@ -2588,18 +2694,19 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| callback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 | | callback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2648,19 +2755,20 @@ queryLocalInterface(interface: string): IRemoteBroker ...@@ -2648,19 +2755,20 @@ queryLocalInterface(interface: string): IRemoteBroker
查询并获取当前接口描述符对应的本地接口对象。 查询并获取当前接口描述符对应的本地接口对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| interface | string | 是 | 需要查询的接口描述符。 | | interface | string | 是 | 需要查询的接口描述符。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| IRemoteBroker | 默认返回Null,标识该接口是一个代理侧接口。 | | IRemoteBroker | 默认返回Null,标识该接口是一个代理侧接口。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2692,20 +2800,21 @@ addDeathRecipient(recipient : DeathRecipient, flags : number): boolean ...@@ -2692,20 +2800,21 @@ addDeathRecipient(recipient : DeathRecipient, flags : number): boolean
注册用于接收远程对象死亡通知的回调,增加proxy对象上的死亡通知。 注册用于接收远程对象死亡通知的回调,增加proxy对象上的死亡通知。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| recipient | [DeathRecipient](#deathrecipient) | 是 | 收件人表示要注册的回调。 | | recipient | [DeathRecipient](#deathrecipient) | 是 | 收件人表示要注册的回调。 |
| flags | number | 是 | 死亡通知标志。保留参数。设置为0。 | | flags | number | 是 | 死亡通知标志。保留参数。设置为0。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果回调注册成功,则返回true;否则返回false。 | | boolean | 如果回调注册成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2742,20 +2851,21 @@ removeDeathRecipient(recipient : DeathRecipient, flags : number): boolean ...@@ -2742,20 +2851,21 @@ removeDeathRecipient(recipient : DeathRecipient, flags : number): boolean
注销用于接收远程对象死亡通知的回调。 注销用于接收远程对象死亡通知的回调。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| recipient | [DeathRecipient](#deathrecipient) | 是 | 要注销的死亡回调。 | | recipient | [DeathRecipient](#deathrecipient) | 是 | 要注销的死亡回调。 |
| flags | number | 是 | 死亡通知标志。保留参数。设置为0。 | | flags | number | 是 | 死亡通知标志。保留参数。设置为0。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果回调成功注销,则返回true;否则返回false。 | | boolean | 如果回调成功注销,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2793,14 +2903,15 @@ getInterfaceDescriptor(): string ...@@ -2793,14 +2903,15 @@ getInterfaceDescriptor(): string
查询当前代理对象接口的描述符。 查询当前代理对象接口的描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 当前的接口描述符。 | | string | 当前的接口描述符。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2832,14 +2943,15 @@ isObjectDead(): boolean ...@@ -2832,14 +2943,15 @@ isObjectDead(): boolean
指示对应的RemoteObject是否死亡。 指示对应的RemoteObject是否死亡。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果对应的RemoteObject已经死亡,返回true,否则返回false。 | | boolean | 如果对应的RemoteObject已经死亡,返回true,否则返回false。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2871,19 +2983,20 @@ setDataVersion(dataVersion: number): boolean ...@@ -2871,19 +2983,20 @@ setDataVersion(dataVersion: number): boolean
将数据格式版本设置到RemoteProxy对象。 将数据格式版本设置到RemoteProxy对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dataVersion | number | 是 | 数据格式版本。 | | dataVersion | number | 是 | 数据格式版本。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果设置数据格式版本成功,则返回true;否则返回false。 | | boolean | 如果设置数据格式版本成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
import FA from "@ohos.ability.featureAbility"; import FA from "@ohos.ability.featureAbility";
let proxy; let proxy;
...@@ -2913,13 +3026,14 @@ setDataVersion(dataVersion: number): boolean ...@@ -2913,13 +3026,14 @@ setDataVersion(dataVersion: number): boolean
公共消息选项(int标志,int等待时间),使用标志中指定的标志构造指定的MessageOption对象。 公共消息选项(int标志,int等待时间),使用标志中指定的标志构造指定的MessageOption对象。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 参数 | 值 | 说明 | | 参数 | 值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| TF_SYNC | 0 | 同步调用。 | | TF_SYNC | 0 | 同步调用。 |
| TF_ASYNC | 1 | 异步调用。 | | TF_ASYNC | 1 | 异步调用。 |
| TF_ACCEPT_FDS | 0x10 | 指示[sendRequest](#sendrequest8)接口可以返回文件描述符。 | | TF_ACCEPT_FDS | 0x10 | 指示[sendRequest](#sendrequest8)接口可以返回文件描述符。 |
| TF_WAIT_TIME | 8 | 等待时间。单位秒。 | | TF_WAIT_TIME | 8 | 等待时间。单位秒。 |
### constructor ### constructor
...@@ -2928,11 +3042,13 @@ constructor(syncFlags?: number, waitTime = TF_WAIT_TIME) ...@@ -2928,11 +3042,13 @@ constructor(syncFlags?: number, waitTime = TF_WAIT_TIME)
MessageOption构造函数。 MessageOption构造函数。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| syncFlags | number | 否 | 同步调用或异步调用标志。默认同步调用。 | | syncFlags | number | 否 | 同步调用或异步调用标志。默认同步调用。 |
| waitTime | number | 否 | 调用rpc最长等待时间。默认&nbsp;TF_WAIT_TIME。 | | waitTime | number | 否 | 调用rpc最长等待时间。默认&nbsp;TF_WAIT_TIME。 |
### getFlags ### getFlags
...@@ -2941,11 +3057,12 @@ getFlags(): number ...@@ -2941,11 +3057,12 @@ getFlags(): number
获取同步调用或异步调用标志。 获取同步调用或异步调用标志。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 调用成功返回同步调用或异步调用标志。 | | number | 调用成功返回同步调用或异步调用标志。 |
### setFlags ### setFlags
...@@ -2954,10 +3071,12 @@ setFlags(flags: number): void ...@@ -2954,10 +3071,12 @@ setFlags(flags: number): void
设置同步调用或异步调用标志。 设置同步调用或异步调用标志。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| flags | number | 是 | 同步调用或异步调用标志。 | | flags | number | 是 | 同步调用或异步调用标志。 |
### getWaitTime ### getWaitTime
...@@ -2966,10 +3085,12 @@ getWaitTime(): number ...@@ -2966,10 +3085,12 @@ getWaitTime(): number
获取rpc调用的最长等待时间。 获取rpc调用的最长等待时间。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | rpc最长等待时间。 | | number | rpc最长等待时间。 |
### setWaitTime ### setWaitTime
...@@ -2978,10 +3099,12 @@ setWaitTime(waitTime: number): void ...@@ -2978,10 +3099,12 @@ setWaitTime(waitTime: number): void
设置rpc调用最长等待时间。 设置rpc调用最长等待时间。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| waitTime | number | 是 | rpc调用最长等待时间。 | | waitTime | number | 是 | rpc调用最长等待时间。 |
## IPCSkeleton ## IPCSkeleton
...@@ -2995,14 +3118,15 @@ static getContextObject(): IRemoteObject ...@@ -2995,14 +3118,15 @@ static getContextObject(): IRemoteObject
获取系统能力的管理者。 获取系统能力的管理者。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| [IRemoteObject](#iremoteobject) | 返回系统能力管理者。 | | [IRemoteObject](#iremoteobject) | 返回系统能力管理者。 |
- 示例 - 示例
``` ```
let samgr = rpc.IPCSkeleton.getContextObject(); let samgr = rpc.IPCSkeleton.getContextObject();
console.log("RpcServer: getContextObject result: " + samgr); console.log("RpcServer: getContextObject result: " + samgr);
...@@ -3015,14 +3139,15 @@ static getCallingPid(): number ...@@ -3015,14 +3139,15 @@ static getCallingPid(): number
获取调用者的PID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的PID。 获取调用者的PID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的PID。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回调用者的PID。 | | number | 返回调用者的PID。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3040,14 +3165,15 @@ static getCallingUid(): number ...@@ -3040,14 +3165,15 @@ static getCallingUid(): number
获取调用者的UID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的UID。 获取调用者的UID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的UID。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回调用者的UID。 | | number | 返回调用者的UID。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3065,14 +3191,15 @@ static getCallingDeviceID(): string ...@@ -3065,14 +3191,15 @@ static getCallingDeviceID(): string
获取调用者进程所在的设备ID。 获取调用者进程所在的设备ID。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回调用者进程所在的设备ID。 | | string | 返回调用者进程所在的设备ID。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3090,14 +3217,15 @@ static getLocalDeviceID(): string ...@@ -3090,14 +3217,15 @@ static getLocalDeviceID(): string
获取本端设备ID。 获取本端设备ID。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回本地设备的ID。 | | string | 返回本地设备的ID。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3115,14 +3243,15 @@ static isLocalCalling(): boolean ...@@ -3115,14 +3243,15 @@ static isLocalCalling(): boolean
检查当前通信对端是否是本设备的进程。 检查当前通信对端是否是本设备的进程。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果调用是在同一设备上进行的,则返回true,否则返回false。 | | boolean | 如果调用是在同一设备上进行的,则返回true,否则返回false。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3140,19 +3269,21 @@ static flushCommands(object : IRemoteObject): number ...@@ -3140,19 +3269,21 @@ static flushCommands(object : IRemoteObject): number
将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。 将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| object | [IRemoteObject](#iremoteobject) | 是 | 指定的RemoteProxy。 | | object | [IRemoteObject](#iremoteobject) | 是 | 指定的RemoteProxy。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 如果操作成功,返回0;如果输入对象为空或RemoteObject,或者操作失败,返回错误代码。 | | number | 如果操作成功,返回0;如果输入对象为空或RemoteObject,或者操作失败,返回错误代码。 |
- 示例 - 示例
``` ```
let remoteObject = new rpc.RemoteObject("aaa", 3); let remoteObject = new rpc.RemoteObject("aaa", 3);
let ret = rpc.IPCSkeleton.flushCommands(remoteObject); let ret = rpc.IPCSkeleton.flushCommands(remoteObject);
...@@ -3166,14 +3297,15 @@ static resetCallingIdentity(): string ...@@ -3166,14 +3297,15 @@ static resetCallingIdentity(): string
将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。 将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回包含远程用户的UID和PID的字符串。 | | string | 返回包含远程用户的UID和PID的字符串。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3191,18 +3323,20 @@ static setCallingIdentity(identity : string): boolean ...@@ -3191,18 +3323,20 @@ static setCallingIdentity(identity : string): boolean
将UID和PID恢复为远程用户的UID和PID。它通常在使用resetCallingIdentity后调用,需要resetCallingIdentity返回的远程用户的UID和PID。 将UID和PID恢复为远程用户的UID和PID。它通常在使用resetCallingIdentity后调用,需要resetCallingIdentity返回的远程用户的UID和PID。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| identity | string | 是 | 标识表示包含远程用户UID和PID的字符串。由resetCallingIdentity返回。 | | identity | string | 是 | 标识表示包含远程用户UID和PID的字符串。由resetCallingIdentity返回。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class Stub extends rpc.RemoteObject { class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
...@@ -3231,10 +3365,12 @@ constructor(descriptor: string) ...@@ -3231,10 +3365,12 @@ constructor(descriptor: string)
RemoteObject构造函数。 RemoteObject构造函数。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| descriptor | string | 是 | 接口描述符。 | | descriptor | string | 是 | 接口描述符。 |
### sendRequest ### sendRequest
...@@ -3245,22 +3381,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options ...@@ -3245,22 +3381,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则期约立即兑现,reply报文里没有内容。如果为选项设置了同步模式,则期约将在sendRequest返回时兑现,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> | | Promise&lt;number&gt;<sup>7</sup><br/>Promise&lt;SendRequestResult&gt;<sup>8+</sup> | 返回一个期约,兑现值是sendRequest错误码。0表示成功,其他情况表示失败。<sup>7</sup><br/>返回一个期约,兑现值是sendRequestResult实例。<sup>8+</sup> |
- 示例<sup>7</sup> - 示例<sup>7</sup>
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3293,7 +3431,7 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options ...@@ -3293,7 +3431,7 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
- 示例<sup>8+</sup> - 示例<sup>8+</sup>
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3332,18 +3470,20 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me ...@@ -3332,18 +3470,20 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。 以同步或异步方式向对端进程发送MessageParcel消息。如果为选项设置了异步模式,则立即收到回调,reply报文里没有内容。如果为选项设置了同步模式,则将在sendRequest返回时收到回调,回复内容在reply报文里。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 | | code | number | 是 | 本次请求调用的消息码,由通信双方确定。如果接口由IDL工具生成,则消息代码由IDL自动生成。 |
| data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 保存待发送数据的&nbsp;MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 接收应答数据的MessageParcel对象。 |
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 | | options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| AsyncCallback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 | | AsyncCallback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3379,28 +3519,30 @@ onRemoteRequest(code : number, data : MessageParcel, reply: MessageParcel, optio ...@@ -3379,28 +3519,30 @@ onRemoteRequest(code : number, data : MessageParcel, reply: MessageParcel, optio
sendRequest请求的响应处理函数,服务端在该函数里处理请求,回复结果。 sendRequest请求的响应处理函数,服务端在该函数里处理请求,回复结果。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 对端发送的服务请求码。 | | code | number | 是 | 对端发送的服务请求码。 |
| data | [MessageParcel](#messageparcel) | 是 | 携带客户端调用参数的MessageParcel对象。 | | data | [MessageParcel](#messageparcel) | 是 | 携带客户端调用参数的MessageParcel对象。 |
| reply | [MessageParcel](#messageparcel) | 是 | 写入结果的MessageParcel对象。 | | reply | [MessageParcel](#messageparcel) | 是 | 写入结果的MessageParcel对象。 |
| option | [MessageOption](#messageoption) | 是 | 指示操作是同步还是异步。 | | option | [MessageOption](#messageoption) | 是 | 指示操作是同步还是异步。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果操作成功,则返回true;否则返回false。 | | boolean | 如果操作成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
super(descriptor); super(descriptor);
} }
onRemoteRequest(code, data, reply, option) { onRemoteRequest(code, data, reply, option) {
if (code === 1) { if (code === 1) {
console.log("RpcServer: onRemoteRequest called"); console.log("RpcServer: onRemoteRequest called");
...@@ -3420,14 +3562,16 @@ getCallingUid(): number ...@@ -3420,14 +3562,16 @@ getCallingUid(): number
获取通信对端的进程Uid。 获取通信对端的进程Uid。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回通信对端的进程Uid。 | | number | 返回通信对端的进程Uid。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3445,14 +3589,16 @@ getCallingPid(): number ...@@ -3445,14 +3589,16 @@ getCallingPid(): number
获取通信对端的进程Pid。 获取通信对端的进程Pid。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回通信对端的进程Pid。 | | number | 返回通信对端的进程Pid。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3470,19 +3616,21 @@ queryLocalInterface(descriptor: descriptor): IRemoteBroker ...@@ -3470,19 +3616,21 @@ queryLocalInterface(descriptor: descriptor): IRemoteBroker
查询并获取当前接口描述符对应的远端对象是否已经存在。 查询并获取当前接口描述符对应的远端对象是否已经存在。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| descriptor | descriptor | 是 | 需要查询的接口描述符。 | | descriptor | descriptor | 是 | 需要查询的接口描述符。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| IRemoteBroker | 如果接口描述符对应的远端对象存在,则返回该远端对象,否则返回Null。 | | IRemoteBroker | 如果接口描述符对应的远端对象存在,则返回该远端对象,否则返回Null。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3500,14 +3648,16 @@ getInterfaceDescriptor(): string ...@@ -3500,14 +3648,16 @@ getInterfaceDescriptor(): string
查询接口描述符。 查询接口描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回接口描述符。 | | string | 返回接口描述符。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3526,15 +3676,17 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void ...@@ -3526,15 +3676,17 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
此接口用于把接口描述符和IRemoteBroker对象绑定。 此接口用于把接口描述符和IRemoteBroker对象绑定。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| localInterface | IRemoteBroker | 是 | 将与描述符绑定的IRemoteBroker对象。 | | localInterface | IRemoteBroker | 是 | 将与描述符绑定的IRemoteBroker对象。 |
| descriptor | string | 是 | 用于与IRemoteBroker对象绑定的描述符。 | | descriptor | string | 是 | 用于与IRemoteBroker对象绑定的描述符。 |
- 示例 - 示例
``` ```
class TestRemoteObject extends rpc.RemoteObject { class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) { constructor(descriptor) {
...@@ -3552,12 +3704,14 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void ...@@ -3552,12 +3704,14 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
映射内存保护类型: 映射内存保护类型:
| 参数名 | 值 | 说明 | **系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 参数名 | 值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| PROT_EXEC | 4 | 映射的内存可执行 | | PROT_EXEC | 4 | 映射的内存可执行 |
| PROT_NONE | 0 | 映射的内存不可访问 | | PROT_NONE | 0 | 映射的内存不可访问 |
| PROT_READ | 1 | 映射的内存可读 | | PROT_READ | 1 | 映射的内存可读 |
| PROT_WRITE | 2 | 映射的内存可写 | | PROT_WRITE | 2 | 映射的内存可写 |
### createAshmem ### createAshmem
...@@ -3566,20 +3720,22 @@ static createAshmem(name: string, size: number): Ashmem ...@@ -3566,20 +3720,22 @@ static createAshmem(name: string, size: number): Ashmem
根据指定的名称和大小创建Ashmem对象。 根据指定的名称和大小创建Ashmem对象。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| name | string | 是 | 名称,用于查询Ashmem信息。 | | name | string | 是 | 名称,用于查询Ashmem信息。 |
| size | number | 是 | Ashmem的大小,以字节为单位。 | | size | number | 是 | Ashmem的大小,以字节为单位。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Ashmem | 返回创建的Ashmem对象;如果创建失败,返回null。 | | Ashmem | 返回创建的Ashmem对象;如果创建失败,返回null。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let size = ashmem.getAshmemSize(); let size = ashmem.getAshmemSize();
...@@ -3593,19 +3749,21 @@ static createAshmemFromExisting(ashmem: Ashmem): Ashmem ...@@ -3593,19 +3749,21 @@ static createAshmemFromExisting(ashmem: Ashmem): Ashmem
通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。 通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| ashmem | Ashmem | 是 | 已存在的Ashmem对象。 | | ashmem | Ashmem | 是 | 已存在的Ashmem对象。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Ashmem | 返回创建的Ashmem对象。 | | Ashmem | 返回创建的Ashmem对象。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let ashmem2 = rpc.Ashmem.createAshmemFromExisting(ashmem); let ashmem2 = rpc.Ashmem.createAshmemFromExisting(ashmem);
...@@ -3620,9 +3778,10 @@ closeAshmem(): void ...@@ -3620,9 +3778,10 @@ closeAshmem(): void
关闭这个Ashmem。 关闭这个Ashmem。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
ashmem.closeAshmem(); ashmem.closeAshmem();
...@@ -3635,9 +3794,10 @@ unmapAshmem(): void ...@@ -3635,9 +3794,10 @@ unmapAshmem(): void
删除该Ashmem对象的地址映射。 删除该Ashmem对象的地址映射。
**系统能力**:SystemCapability.Communication.IPC.Core
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
ashmem.unmapAshmem(); ashmem.unmapAshmem();
...@@ -3650,14 +3810,15 @@ getAshmemSize(): number ...@@ -3650,14 +3810,15 @@ getAshmemSize(): number
获取Ashmem对象的内存大小。 获取Ashmem对象的内存大小。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回Ashmem对象的内存大小。 | | number | 返回Ashmem对象的内存大小。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let size = ashmem.getAshmemSize(); let size = ashmem.getAshmemSize();
...@@ -3671,19 +3832,20 @@ mapAshmem(mapType: number): boolean ...@@ -3671,19 +3832,20 @@ mapAshmem(mapType: number): boolean
在此进程的虚拟地址空间上创建共享文件映射,映射区域大小由此Ashmem对象指定。 在此进程的虚拟地址空间上创建共享文件映射,映射区域大小由此Ashmem对象指定。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| mapType | number | 是 | 指定映射的内存区域的保护等级。 | | mapType | number | 是 | 指定映射的内存区域的保护等级。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果映射成功,则返回true;否则返回false。 | | boolean | 如果映射成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapReadAndWrite = ashmem.mapAshmem(rpc.Ashmem.PROT_READ | rpc.Ashmem.PROT_WRITE); let mapReadAndWrite = ashmem.mapAshmem(rpc.Ashmem.PROT_READ | rpc.Ashmem.PROT_WRITE);
...@@ -3697,14 +3859,15 @@ mapReadAndWriteAshmem(): boolean ...@@ -3697,14 +3859,15 @@ mapReadAndWriteAshmem(): boolean
在此进程虚拟地址空间上创建可读写的共享文件映射。 在此进程虚拟地址空间上创建可读写的共享文件映射。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果映射成功,则返回true;否则返回false。 | | boolean | 如果映射成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadAndWriteAshmem(); let mapResult = ashmem.mapReadAndWriteAshmem();
...@@ -3718,14 +3881,15 @@ mapReadOnlyAshmem(): boolean ...@@ -3718,14 +3881,15 @@ mapReadOnlyAshmem(): boolean
在此进程虚拟地址空间上创建只读的共享文件映射。 在此进程虚拟地址空间上创建只读的共享文件映射。
**系统能力**:SystemCapability.Communication.IPC.Core
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果映射成功,则返回true;否则返回false。 | | boolean | 如果映射成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadOnlyAshmem(); let mapResult = ashmem.mapReadOnlyAshmem();
...@@ -3739,19 +3903,20 @@ setProtection(protectionType: number): boolean ...@@ -3739,19 +3903,20 @@ setProtection(protectionType: number): boolean
设置映射内存区域的保护等级。 设置映射内存区域的保护等级。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| protectionType | number | 是 | 要设置的保护类型。 | | protectionType | number | 是 | 要设置的保护类型。 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果设置成功,则返回true;否则返回false。 | | boolean | 如果设置成功,则返回true;否则返回false。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let result = ashmem.setProtection(rpc.Ashmem.PROT_READ); let result = ashmem.setProtection(rpc.Ashmem.PROT_READ);
...@@ -3765,21 +3930,22 @@ writeToAshmem(buf: number[], size: number, offset: number): boolean ...@@ -3765,21 +3930,22 @@ writeToAshmem(buf: number[], size: number, offset: number): boolean
将数据写入此Ashmem对象关联的共享文件。 将数据写入此Ashmem对象关联的共享文件。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| buf | number[] | 是 | 写入Ashmem对象的数据。 | | buf | number[] | 是 | 写入Ashmem对象的数据。 |
| size | number | 是 | 要写入的数据大小。 | | size | number | 是 | 要写入的数据大小。 |
| offset | number | 是 | 要写入的数据在此Ashmem对象关联的内存区间的起始位置 | | offset | number | 是 | 要写入的数据在此Ashmem对象关联的内存区间的起始位置 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 如果数据写入成功,则返回true;在其他情况下,如数据写入越界或未获得写入权限,则返回false。 | | boolean | 如果数据写入成功,则返回true;在其他情况下,如数据写入越界或未获得写入权限,则返回false。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
var ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]); var ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]);
...@@ -3794,20 +3960,22 @@ readFromAshmem(size: number, offset: number): number[] ...@@ -3794,20 +3960,22 @@ readFromAshmem(size: number, offset: number): number[]
从此Ashmem对象关联的共享文件中读取数据。 从此Ashmem对象关联的共享文件中读取数据。
**系统能力**:SystemCapability.Communication.IPC.Core
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| size | number | 是 | 要读取的数据的大小。 | | size | number | 是 | 要读取的数据的大小。 |
| offset | number | 是 | 要读取的数据在此Ashmem对象关联的内存区间的起始位置 | | offset | number | 是 | 要读取的数据在此Ashmem对象关联的内存区间的起始位置 |
- 返回值 - 返回值
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number[] | 返回读取的数据。 | | number[] | 返回读取的数据。 |
- 示例 - 示例
``` ```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024); let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
var ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]); var ByteArrayVar = new Int8Array([1, 2, 3, 4, 5]);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册