未验证 提交 c1adeb5d 编写于 作者: O openharmony_ci 提交者: Gitee

!10871 continuationManager.on和off修改事件名

Merge pull request !10871 from 杜智海/master
......@@ -15,10 +15,10 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的
| registerContinuation(callback: AsyncCallback\<number>): void | 注册流转管理服务,并获取对应的注册token,无过滤条件(AsyncCallback)。 |
| registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback\<number>): void | 注册流转管理服务,并获取对应的注册token(AsyncCallback)。 |
| registerContinuation(options?: ContinuationExtraParams): Promise\<number> | 连接流转管理服务,并获取对应的注册token(Promise)。 |
| on(type: "deviceConnect", token: number, callback: Callback\<Array\<ContinuationResult>>): void | 监听设备连接状态(Callback)。 |
| on(type: "deviceDisconnect", token: number, callback: Callback\<Array\<string>>): void | 监听设备断开状态(Callback)。 |
| off(type: "deviceConnect", token: number): void | 取消监听设备连接状态。 |
| off(type: "deviceDisconnect", token: number): void | 取消监听设备断开状态。 |
| on(type: "deviceSelected", token: number, callback: Callback\<Array\<ContinuationResult>>): void | 监听设备连接状态(Callback)。 |
| on(type: "deviceUnselected", token: number, callback: Callback\<Array\<ContinuationResult>>): void | 监听设备断开状态(Callback)。 |
| off(type: "deviceSelected", token: number): void | 取消监听设备连接状态。 |
| off(type: "deviceUnselected", token: number): void | 取消监听设备断开状态。 |
| startContinuationDeviceManager(token: number, callback: AsyncCallback\<void>): void | 拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件(AsyncCallback)。 |
| startContinuationDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback\<void>): void | 拉起设备选择模块,可显示组网内可选择设备列表信息(AsyncCallback)。 |
| startContinuationDeviceManager(token: number, options?: ContinuationExtraParams): Promise\<void> | 拉起设备选择模块,可显示组网内可选择设备列表信息(Promise)。 |
......@@ -34,7 +34,7 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的
import continuationManager from '@ohos.continuation.continuationManager';
```
2. 跨端迁移或多端协同操作需要申请权限
2. 申请分布式权限 DISTRIBUTED_DATASYNC
权限申请在FA平台和Stage平台有区别,FA平台需要在`config.json`里面进行配置请求权限,示例代码如下:
......@@ -161,8 +161,8 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的
try {
// 参数token为注册token
continuationManager.on("deviceConnect", token, (continuationResults) => {
console.info('registerDeviceConnectCallback len: ' + continuationResults.length);
continuationManager.on("deviceSelected", token, (continuationResults) => {
console.info('registerDeviceSelectedCallback len: ' + continuationResults.length);
if (continuationResults.length <= 0) {
console.info('no selected device');
return;
......@@ -175,7 +175,6 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的
bundleName: 'ohos.samples.continuationmanager',
abilityName: 'MainAbility'
};
// 发起多端协同操作,需申请ohos.permission.DISTRIBUTED_DATASYNC权限
globalThis.abilityContext.startAbility(want).then((data) => {
console.info('StartRemoteAbility finished, ' + JSON.stringify(data));
}).catch((err) => {
......@@ -212,15 +211,15 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的
```ts
try {
// 参数token为注册token
continuationManager.on("deviceDisconnect", token, (deviceIds) => {
console.info('onDeviceDisconnect len: ' + deviceIds.length);
if (deviceIds.length <= 0) {
continuationManager.on("deviceUnselected", token, (continuationResults) => {
console.info('onDeviceUnselected len: ' + continuationResults.length);
if (continuationResults.length <= 0) {
console.info('no unselected device');
return;
}
// 更新设备流转状态
let unselectedDeviceId: string = deviceIds[0]; // 将取消选择的第一个远端设备deviceId赋值给unselectedDeviceId变量
let unselectedDeviceId: string = continuationResults[0].id; // 将取消选择的第一个远端设备deviceId赋值给unselectedDeviceId变量
let deviceConnectStatus: continuationManager.DeviceConnectState = continuationManager.DeviceConnectState.DISCONNECTING; // 设备断开状态
// 参数token为注册token,参数unselectedDeviceId为获取到的unselectedDeviceId
......
......@@ -155,6 +155,8 @@ registerContinuation(callback: AsyncCallback\<number>): void;
注册流转管理服务,并获取对应的注册token,无过滤条件,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -197,6 +199,8 @@ registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback\<
连接流转管理服务,并获取对应的注册token,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -243,6 +247,8 @@ registerContinuation(options?: ContinuationExtraParams): Promise\<number>;
连接流转管理服务,并获取对应的注册token,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -295,7 +301,7 @@ on(type: "deviceConnect", callback: Callback\<ContinuationResult>): void;
异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。
> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceconnect9)替代。
> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceselected9)替代。
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
......@@ -334,7 +340,7 @@ on(type: "deviceDisconnect", callback: Callback\<string>): void;
异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。
> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondevicedisconnect9)替代。
> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceunselected9)替代。
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
......@@ -371,7 +377,7 @@ off(type: "deviceConnect", callback?: Callback\<ContinuationResult>): void;
异步方法,取消监听设备连接状态,使用Callback形式返回连接的设备信息。
> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceconnect9)替代。
> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceselected9)替代。
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
......@@ -410,7 +416,7 @@ off(type: "deviceDisconnect", callback?: Callback\<string>): void;
异步方法,取消监听设备断开状态,使用Callback形式返回连接的设备信息。
> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdevicedisconnect9)替代。
> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceunselected9)替代。
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
......@@ -441,19 +447,21 @@ off(type: "deviceDisconnect", callback?: Callback\<string>): void;
});
```
## continuationManager.on("deviceConnect")<sup>9+</sup>
## continuationManager.on("deviceSelected")<sup>9+</sup>
on(type: "deviceConnect", token: number, callback: Callback\<Array\<ContinuationResult>>): void;
on(type: "deviceSelected", token: number, callback: Callback\<Array\<ContinuationResult>>): void;
异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件类型,固定值"deviceConnect"。 |
| type | string | 是 | 监听的事件类型,固定值"deviceSelected"。 |
| token | number | 是 | 注册后的token。 |
| callback | Callback\<Array\<[ContinuationResult](js-apis-continuation-continuationResult.md)>> | 是 | 当用户从设备选择模块中选择设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
......@@ -473,12 +481,12 @@ on(type: "deviceConnect", token: number, callback: Callback\<Array\<Continuation
```ts
let token = 1;
try {
continuationManager.on("deviceConnect", token, (data) => {
console.info('onDeviceConnect len: ' + data.length);
continuationManager.on("deviceSelected", token, (data) => {
console.info('onDeviceSelected len: ' + data.length);
for (let i = 0; i < data.length; i++) {
console.info('onDeviceConnect deviceId: ' + JSON.stringify(data[i].id));
console.info('onDeviceConnect deviceType: ' + JSON.stringify(data[i].type));
console.info('onDeviceConnect deviceName: ' + JSON.stringify(data[i].name));
console.info('onDeviceSelected deviceId: ' + JSON.stringify(data[i].id));
console.info('onDeviceSelected deviceType: ' + JSON.stringify(data[i].type));
console.info('onDeviceSelected deviceName: ' + JSON.stringify(data[i].name));
}
});
} catch (err) {
......@@ -486,21 +494,23 @@ on(type: "deviceConnect", token: number, callback: Callback\<Array\<Continuation
}
```
## continuationManager.on("deviceDisconnect")<sup>9+</sup>
## continuationManager.on("deviceUnselected")<sup>9+</sup>
on(type: "deviceDisconnect", token: number, callback: Callback\<Array\<string>>): void;
on(type: "deviceUnselected", token: number, callback: Callback\<Array\<ContinuationResult>>): void;
异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听的事件类型,固定值"deviceDisconnect"。 |
| type | string | 是 | 监听的事件类型,固定值"deviceUnselected"。 |
| token | number | 是 | 注册后的token。 |
| callback | Callback\<Array\<string>> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID供开发者使用。 |
| callback | Callback\<Array\<[ContinuationResult](js-apis-continuation-continuationResult.md)>> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
**错误码:**
......@@ -518,31 +528,35 @@ on(type: "deviceDisconnect", token: number, callback: Callback\<Array\<string>>)
```ts
let token = 1;
try {
continuationManager.on("deviceDisconnect", token, (data) => {
console.info('onDeviceDisconnect len: ' + data.length);
continuationManager.on("deviceUnselected", token, (data) => {
console.info('onDeviceUnselected len: ' + data.length);
for (let i = 0; i < data.length; i++) {
console.info('onDeviceDisconnect deviceId: ' + JSON.stringify(data[i]));
console.info('onDeviceUnselected deviceId: ' + JSON.stringify(data[i].id));
console.info('onDeviceUnselected deviceType: ' + JSON.stringify(data[i].type));
console.info('onDeviceUnselected deviceName: ' + JSON.stringify(data[i].name));
}
console.info('onDeviceDisconnect finished.');
console.info('onDeviceUnselected finished.');
});
} catch (err) {
console.error('on failed, cause: ' + JSON.stringify(err));
}
```
## continuationManager.off("deviceConnect")<sup>9+</sup>
## continuationManager.off("deviceSelected")<sup>9+</sup>
off(type: "deviceConnect", token: number): void;
off(type: "deviceSelected", token: number): void;
取消监听设备连接状态。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取消监听的事件类型,固定值"deviceConnect"。 |
| type | string | 是 | 取消监听的事件类型,固定值"deviceSelected"。 |
| token | number | 是 | 注册后的token。 |
**错误码:**
......@@ -561,25 +575,27 @@ off(type: "deviceConnect", token: number): void;
```ts
let token = 1;
try {
continuationManager.off("deviceConnect", token);
continuationManager.off("deviceSelected", token);
} catch (err) {
console.error('off failed, cause: ' + JSON.stringify(err));
}
```
## continuationManager.off("deviceDisconnect")<sup>9+</sup>
## continuationManager.off("deviceUnselected")<sup>9+</sup>
off(type: "deviceDisconnect", token: number): void;
off(type: "deviceUnselected", token: number): void;
取消监听设备断开状态。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 取消监听的事件类型,固定值"deviceDisconnect"。 |
| type | string | 是 | 取消监听的事件类型,固定值"deviceUnselected"。 |
| token | number | 是 | 注册后的token。 |
**错误码:**
......@@ -598,7 +614,7 @@ off(type: "deviceDisconnect", token: number): void;
```ts
let token = 1;
try {
continuationManager.off("deviceDisconnect", token);
continuationManager.off("deviceUnselected", token);
} catch (err) {
console.error('off failed, cause: ' + JSON.stringify(err));
}
......@@ -610,7 +626,7 @@ startDeviceManager(token: number, callback: AsyncCallback\<void>): void;
拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件,使用AsyncCallback方式作为异步方法。
> 从API Version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerondeviceconnect9)替代。
> 从API Version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerstartcontinuationdevicemanager9)替代。
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
......@@ -752,6 +768,8 @@ startContinuationDeviceManager(token: number, callback: AsyncCallback\<void>): v
拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -794,6 +812,8 @@ startContinuationDeviceManager(token: number, options: ContinuationExtraParams,
拉起设备选择模块,可显示组网内可选择设备列表信息,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -840,6 +860,8 @@ startContinuationDeviceManager(token: number, options?: ContinuationExtraParams)
拉起设备选择模块,可显示组网内可选择设备列表信息,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -988,6 +1010,8 @@ updateContinuationState(token: number, deviceId: string, status: DeviceConnectSt
通知设备选择模块,更新当前的连接状态,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -1033,6 +1057,8 @@ updateContinuationState(token: number, deviceId: string, status: DeviceConnectSt
通知设备选择模块,更新当前的连接状态,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -1169,6 +1195,8 @@ unregisterContinuation(token: number, callback: AsyncCallback\<void>): void;
解注册流转管理服务,传入注册时获取的token进行解注册,使用AsyncCallback方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......@@ -1211,6 +1239,8 @@ unregisterContinuation(token: number): Promise\<void>;
解注册流转管理服务,传入注册时获取的token进行解注册,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.DistributedAbilityManager
**参数:**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册