From c7ac0b99f014c60dec8fe6c1e771512a2c8750ca Mon Sep 17 00:00:00 2001 From: mingxihua Date: Thu, 16 Mar 2023 17:06:22 +0800 Subject: [PATCH] mingxihua@huawei.com.cn Signed-off-by: mingxihua --- ...ner-application-serviceExtensionContext.md | 20 +++++++++++++++---- ...apis-inner-application-uiAbilityContext.md | 10 ++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md index 2b7f7978ba..76106470a1 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md @@ -17,6 +17,7 @@ ServiceExtensionContext模块提供ServiceExtensionAbility具有的能力,包 import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility'; let context; + let closeRemote; // 断开连接时需要释放 class EntryAbility extends ServiceExtensionAbility { onCreate() { context = this.context; // 获取ServiceExtensionContext @@ -1093,7 +1094,10 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number; abilityName: 'MyAbility' }; let options = { - onConnect(elementName, remote) { console.log('----------- onConnect -----------') }, + onConnect(elementName, remote) { + closeRemote = remote; + console.log('----------- onConnect -----------'); + }, onDisconnect(elementName) { console.log('----------- onDisconnect -----------') }, onFailed(code) { console.error('----------- onFailed -----------') } }; @@ -1154,7 +1158,10 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options }; let accountId = 100; let options = { - onConnect(elementName, remote) { console.log('----------- onConnect -----------'); }, + onConnect(elementName, remote) { + closeRemote = remote; + console.log('----------- onConnect -----------'); + }, onDisconnect(elementName) { console.log('----------- onDisconnect -----------'); }, onFailed(code) { console.log('----------- onFailed -----------'); } }; @@ -1172,7 +1179,7 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback<void>): void; -将一个Ability与绑定的服务类型的Ability解绑。 +将一个Ability与绑定的服务类型的Ability解绑,断开连接之后需要将连接成功时返回的remote对象置空。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core @@ -1204,6 +1211,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback< try { this.context.disconnectServiceExtensionAbility(connection, (error) => { + closeRemote = null; if (error.code) { // 处理业务逻辑错误 console.error('disconnectServiceExtensionAbility failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}'); @@ -1213,6 +1221,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback< console.log('disconnectServiceExtensionAbility succeed'); }); } catch (paramError) { + closeRemote = null; // 处理入参错误异常 console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}'); } @@ -1222,7 +1231,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback< disconnectServiceExtensionAbility(connection: number): Promise<void>; -将一个Ability与绑定的服务类型的Ability解绑。通过Promise返回结果。 +将一个Ability与绑定的服务类型的Ability解绑,断开连接之后需要将连接成功时返回的remote对象置空。通过Promise返回结果。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core @@ -1260,14 +1269,17 @@ disconnectServiceExtensionAbility(connection: number): Promise<void>; try { this.context.disconnectServiceExtensionAbility(connection) .then((data) => { + closeRemote = null; // 执行正常业务 console.log('disconnectServiceExtensionAbility succeed'); }) .catch((error) => { + closeRemote = null; // 处理业务逻辑错误 console.error('disconnectServiceExtensionAbility failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}'); }); } catch (paramError) { + closeRemote = null; // 处理入参错误异常 console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}'); } diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md index 61bee851f8..557f8feec8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md @@ -1349,6 +1349,7 @@ let want = { }; let options = { onConnect(elementName, remote) { + closeRemote = remote; console.info('onConnect...') }, onDisconnect(elementName) { @@ -1415,6 +1416,7 @@ let want = { let accountId = 100; let options = { onConnect(elementName, remote) { + closeRemote = remote; console.info('onConnect...') }, onDisconnect(elementName) { @@ -1438,7 +1440,7 @@ try { disconnectServiceExtensionAbility(connection: number): Promise\; -断开与ServiceExtensionAbility的连接(promise形式)。 +断开与ServiceExtensionAbility的连接,断开连接之后需要将连接成功时返回的remote对象置空(promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core @@ -1471,6 +1473,7 @@ let connection = 1; try { this.context.disconnectServiceExtensionAbility(connection, (err) => { + closeRemote = null; if (err.code) { // 处理业务逻辑错误 console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); @@ -1480,6 +1483,7 @@ try { console.info('disconnectServiceExtensionAbility succeed'); }); } catch (err) { + closeRemote = null; // 处理入参错误异常 console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); } @@ -1489,7 +1493,7 @@ try { disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback\): void; -断开与ServiceExtensionAbility的连接(callback形式)。 +断开与ServiceExtensionAbility的连接,断开连接之后需要将连接成功时返回的remote对象置空(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core @@ -1517,6 +1521,7 @@ let connection = 1; try { this.context.disconnectServiceExtensionAbility(connection, (err) => { + closeRemote = null; if (err.code) { // 处理业务逻辑错误 console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); @@ -1526,6 +1531,7 @@ try { console.info('disconnectServiceExtensionAbility succeed'); }); } catch (err) { + closeRemote = null; // 处理入参错误异常 console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); } -- GitLab