提交 c7ac0b99 编写于 作者: M mingxihua

mingxihua@huawei.com.cn

Signed-off-by: Nmingxihua <mingxihua@huawei.com>
上级 9fdd2847
...@@ -17,6 +17,7 @@ ServiceExtensionContext模块提供ServiceExtensionAbility具有的能力,包 ...@@ -17,6 +17,7 @@ ServiceExtensionContext模块提供ServiceExtensionAbility具有的能力,包
import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility'; import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
let context; let context;
let closeRemote; // 断开连接时需要释放
class EntryAbility extends ServiceExtensionAbility { class EntryAbility extends ServiceExtensionAbility {
onCreate() { onCreate() {
context = this.context; // 获取ServiceExtensionContext context = this.context; // 获取ServiceExtensionContext
...@@ -1093,7 +1094,10 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number; ...@@ -1093,7 +1094,10 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number;
abilityName: 'MyAbility' abilityName: 'MyAbility'
}; };
let options = { let options = {
onConnect(elementName, remote) { console.log('----------- onConnect -----------') }, onConnect(elementName, remote) {
closeRemote = remote;
console.log('----------- onConnect -----------');
},
onDisconnect(elementName) { console.log('----------- onDisconnect -----------') }, onDisconnect(elementName) { console.log('----------- onDisconnect -----------') },
onFailed(code) { console.error('----------- onFailed -----------') } onFailed(code) { console.error('----------- onFailed -----------') }
}; };
...@@ -1154,7 +1158,10 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options ...@@ -1154,7 +1158,10 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options
}; };
let accountId = 100; let accountId = 100;
let options = { let options = {
onConnect(elementName, remote) { console.log('----------- onConnect -----------'); }, onConnect(elementName, remote) {
closeRemote = remote;
console.log('----------- onConnect -----------');
},
onDisconnect(elementName) { console.log('----------- onDisconnect -----------'); }, onDisconnect(elementName) { console.log('----------- onDisconnect -----------'); },
onFailed(code) { console.log('----------- onFailed -----------'); } onFailed(code) { console.log('----------- onFailed -----------'); }
}; };
...@@ -1172,7 +1179,7 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options ...@@ -1172,7 +1179,7 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options
disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt;void&gt;): void; disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt;void&gt;): void;
将一个Ability与绑定的服务类型的Ability解绑。 将一个Ability与绑定的服务类型的Ability解绑,断开连接之后需要将连接成功时返回的remote对象置空
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -1204,6 +1211,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt; ...@@ -1204,6 +1211,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt;
try { try {
this.context.disconnectServiceExtensionAbility(connection, (error) => { this.context.disconnectServiceExtensionAbility(connection, (error) => {
closeRemote = null;
if (error.code) { if (error.code) {
// 处理业务逻辑错误 // 处理业务逻辑错误
console.error('disconnectServiceExtensionAbility failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}'); 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&lt; ...@@ -1213,6 +1221,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt;
console.log('disconnectServiceExtensionAbility succeed'); console.log('disconnectServiceExtensionAbility succeed');
}); });
} catch (paramError) { } catch (paramError) {
closeRemote = null;
// 处理入参错误异常 // 处理入参错误异常
console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}'); console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}');
} }
...@@ -1222,7 +1231,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt; ...@@ -1222,7 +1231,7 @@ disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback&lt;
disconnectServiceExtensionAbility(connection: number): Promise&lt;void&gt;; disconnectServiceExtensionAbility(connection: number): Promise&lt;void&gt;;
将一个Ability与绑定的服务类型的Ability解绑。通过Promise返回结果。 将一个Ability与绑定的服务类型的Ability解绑,断开连接之后需要将连接成功时返回的remote对象置空。通过Promise返回结果。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -1260,14 +1269,17 @@ disconnectServiceExtensionAbility(connection: number): Promise&lt;void&gt;; ...@@ -1260,14 +1269,17 @@ disconnectServiceExtensionAbility(connection: number): Promise&lt;void&gt;;
try { try {
this.context.disconnectServiceExtensionAbility(connection) this.context.disconnectServiceExtensionAbility(connection)
.then((data) => { .then((data) => {
closeRemote = null;
// 执行正常业务 // 执行正常业务
console.log('disconnectServiceExtensionAbility succeed'); console.log('disconnectServiceExtensionAbility succeed');
}) })
.catch((error) => { .catch((error) => {
closeRemote = null;
// 处理业务逻辑错误 // 处理业务逻辑错误
console.error('disconnectServiceExtensionAbility failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}'); console.error('disconnectServiceExtensionAbility failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
}); });
} catch (paramError) { } catch (paramError) {
closeRemote = null;
// 处理入参错误异常 // 处理入参错误异常
console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}'); console.error('error.code: ${JSON.stringify(paramError.code)}, error.message: ${JSON.stringify(paramError.message)}');
} }
......
...@@ -1349,6 +1349,7 @@ let want = { ...@@ -1349,6 +1349,7 @@ let want = {
}; };
let options = { let options = {
onConnect(elementName, remote) { onConnect(elementName, remote) {
closeRemote = remote;
console.info('onConnect...') console.info('onConnect...')
}, },
onDisconnect(elementName) { onDisconnect(elementName) {
...@@ -1415,6 +1416,7 @@ let want = { ...@@ -1415,6 +1416,7 @@ let want = {
let accountId = 100; let accountId = 100;
let options = { let options = {
onConnect(elementName, remote) { onConnect(elementName, remote) {
closeRemote = remote;
console.info('onConnect...') console.info('onConnect...')
}, },
onDisconnect(elementName) { onDisconnect(elementName) {
...@@ -1438,7 +1440,7 @@ try { ...@@ -1438,7 +1440,7 @@ try {
disconnectServiceExtensionAbility(connection: number): Promise\<void>; disconnectServiceExtensionAbility(connection: number): Promise\<void>;
断开与ServiceExtensionAbility的连接(promise形式)。 断开与ServiceExtensionAbility的连接,断开连接之后需要将连接成功时返回的remote对象置空(promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -1471,6 +1473,7 @@ let connection = 1; ...@@ -1471,6 +1473,7 @@ let connection = 1;
try { try {
this.context.disconnectServiceExtensionAbility(connection, (err) => { this.context.disconnectServiceExtensionAbility(connection, (err) => {
closeRemote = null;
if (err.code) { if (err.code) {
// 处理业务逻辑错误 // 处理业务逻辑错误
console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`);
...@@ -1480,6 +1483,7 @@ try { ...@@ -1480,6 +1483,7 @@ try {
console.info('disconnectServiceExtensionAbility succeed'); console.info('disconnectServiceExtensionAbility succeed');
}); });
} catch (err) { } catch (err) {
closeRemote = null;
// 处理入参错误异常 // 处理入参错误异常
console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`);
} }
...@@ -1489,7 +1493,7 @@ try { ...@@ -1489,7 +1493,7 @@ try {
disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback\<void>): void; disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback\<void>): void;
断开与ServiceExtensionAbility的连接(callback形式)。 断开与ServiceExtensionAbility的连接,断开连接之后需要将连接成功时返回的remote对象置空(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -1517,6 +1521,7 @@ let connection = 1; ...@@ -1517,6 +1521,7 @@ let connection = 1;
try { try {
this.context.disconnectServiceExtensionAbility(connection, (err) => { this.context.disconnectServiceExtensionAbility(connection, (err) => {
closeRemote = null;
if (err.code) { if (err.code) {
// 处理业务逻辑错误 // 处理业务逻辑错误
console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`);
...@@ -1526,6 +1531,7 @@ try { ...@@ -1526,6 +1531,7 @@ try {
console.info('disconnectServiceExtensionAbility succeed'); console.info('disconnectServiceExtensionAbility succeed');
}); });
} catch (err) { } catch (err) {
closeRemote = null;
// 处理入参错误异常 // 处理入参错误异常
console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`); console.error(`disconnectServiceExtensionAbility failed, code is ${err.code}, message is ${err.message}`);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册