From 5f8a4785a50e5fcecdac3e87adc611db38fe88a7 Mon Sep 17 00:00:00 2001 From: du-zhihai Date: Thu, 20 Oct 2022 21:05:02 +0800 Subject: [PATCH] =?UTF-8?q?continuationManager.on=E5=92=8Coff=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BA=8B=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: du-zhihai Change-Id: I0588ee330ae3e7d1c98fb2289d54e97b1700a61b --- .../ability/continuationmanager.md | 23 +++-- ...s-apis-continuation-continuationManager.md | 88 +++++++++++++------ 2 files changed, 70 insertions(+), 41 deletions(-) diff --git a/zh-cn/application-dev/ability/continuationmanager.md b/zh-cn/application-dev/ability/continuationmanager.md index d5a92c9deb..470d9bbb79 100644 --- a/zh-cn/application-dev/ability/continuationmanager.md +++ b/zh-cn/application-dev/ability/continuationmanager.md @@ -15,10 +15,10 @@ continuationManager作为流转能力的入口,主要用于拉起系统中的 | registerContinuation(callback: AsyncCallback\): void | 注册流转管理服务,并获取对应的注册token,无过滤条件(AsyncCallback)。 | | registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback\): void | 注册流转管理服务,并获取对应的注册token(AsyncCallback)。 | | registerContinuation(options?: ContinuationExtraParams): Promise\ | 连接流转管理服务,并获取对应的注册token(Promise)。 | -| on(type: "deviceConnect", token: number, callback: Callback\>): void | 监听设备连接状态(Callback)。 | -| on(type: "deviceDisconnect", token: number, callback: Callback\>): void | 监听设备断开状态(Callback)。 | -| off(type: "deviceConnect", token: number): void | 取消监听设备连接状态。 | -| off(type: "deviceDisconnect", token: number): void | 取消监听设备断开状态。 | +| on(type: "deviceSelected", token: number, callback: Callback\>): void | 监听设备连接状态(Callback)。 | +| on(type: "deviceUnselected", token: number, callback: Callback\>): void | 监听设备断开状态(Callback)。 | +| off(type: "deviceSelected", token: number): void | 取消监听设备连接状态。 | +| off(type: "deviceUnselected", token: number): void | 取消监听设备断开状态。 | | startContinuationDeviceManager(token: number, callback: AsyncCallback\): void | 拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件(AsyncCallback)。 | | startContinuationDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback\): void | 拉起设备选择模块,可显示组网内可选择设备列表信息(AsyncCallback)。 | | startContinuationDeviceManager(token: number, options?: ContinuationExtraParams): Promise\ | 拉起设备选择模块,可显示组网内可选择设备列表信息(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 diff --git a/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md b/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md index 2864610031..0e05d31270 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md @@ -155,6 +155,8 @@ registerContinuation(callback: AsyncCallback\): 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\; 连接流转管理服务,并获取对应的注册token,使用Promise方式作为异步方法。 +**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC + **系统能力**:SystemCapability.Ability.DistributedAbilityManager **参数:** @@ -295,7 +301,7 @@ on(type: "deviceConnect", callback: Callback\): void; 异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。 -> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceconnect9)替代。 +> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceselected9)替代。 **系统能力**:SystemCapability.Ability.DistributedAbilityManager @@ -334,7 +340,7 @@ on(type: "deviceDisconnect", callback: Callback\): void; 异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。 -> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondevicedisconnect9)替代。 +> 从API Version 9开始不再维护,建议使用[on](#continuationmanagerondeviceunselected9)替代。 **系统能力**:SystemCapability.Ability.DistributedAbilityManager @@ -371,7 +377,7 @@ off(type: "deviceConnect", callback?: Callback\): void; 异步方法,取消监听设备连接状态,使用Callback形式返回连接的设备信息。 -> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceconnect9)替代。 +> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceselected9)替代。 **系统能力**:SystemCapability.Ability.DistributedAbilityManager @@ -410,7 +416,7 @@ off(type: "deviceDisconnect", callback?: Callback\): void; 异步方法,取消监听设备断开状态,使用Callback形式返回连接的设备信息。 -> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdevicedisconnect9)替代。 +> 从API Version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceunselected9)替代。 **系统能力**:SystemCapability.Ability.DistributedAbilityManager @@ -441,19 +447,21 @@ off(type: "deviceDisconnect", callback?: Callback\): void; }); ``` -## continuationManager.on("deviceConnect")9+ +## continuationManager.on("deviceSelected")9+ -on(type: "deviceConnect", token: number, callback: Callback\>): void; +on(type: "deviceSelected", token: number, callback: Callback\>): void; 异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。 +**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC + **系统能力**:SystemCapability.Ability.DistributedAbilityManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 监听的事件类型,固定值"deviceConnect"。 | + | type | string | 是 | 监听的事件类型,固定值"deviceSelected"。 | | token | number | 是 | 注册后的token。 | | callback | Callback\> | 是 | 当用户从设备选择模块中选择设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 | @@ -473,12 +481,12 @@ on(type: "deviceConnect", token: number, callback: Callback\ { - 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\9+ +## continuationManager.on("deviceUnselected")9+ -on(type: "deviceDisconnect", token: number, callback: Callback\>): void; +on(type: "deviceUnselected", token: number, callback: Callback\>): void; 异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。 +**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC + **系统能力**:SystemCapability.Ability.DistributedAbilityManager **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | type | string | 是 | 监听的事件类型,固定值"deviceDisconnect"。 | + | type | string | 是 | 监听的事件类型,固定值"deviceUnselected"。 | | token | number | 是 | 注册后的token。 | - | callback | Callback\> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID供开发者使用。 | + | callback | Callback\> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 | **错误码:** @@ -518,31 +528,35 @@ on(type: "deviceDisconnect", token: number, callback: Callback\>) ```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")9+ +## continuationManager.off("deviceSelected")9+ -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")9+ +## continuationManager.off("deviceUnselected")9+ -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; 拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件,使用AsyncCallback方式作为异步方法。 -> 从API Version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerondeviceconnect9)替代。 +> 从API Version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerstartcontinuationdevicemanager9)替代。 **系统能力**:SystemCapability.Ability.DistributedAbilityManager @@ -752,6 +768,8 @@ startContinuationDeviceManager(token: number, callback: AsyncCallback\): 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; 解注册流转管理服务,传入注册时获取的token进行解注册,使用AsyncCallback方式作为异步方法。 +**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC + **系统能力**:SystemCapability.Ability.DistributedAbilityManager **参数:** @@ -1211,6 +1239,8 @@ unregisterContinuation(token: number): Promise\; 解注册流转管理服务,传入注册时获取的token进行解注册,使用Promise方式作为异步方法。 +**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC + **系统能力**:SystemCapability.Ability.DistributedAbilityManager **参数:** -- GitLab