From ffb19a8a4f43fc09f51cd655114d627463c691f0 Mon Sep 17 00:00:00 2001 From: mingxihua Date: Tue, 28 Mar 2023 09:41:45 +0800 Subject: [PATCH] mingxihua@huawei.com.cn Signed-off-by: mingxihua --- .../ets/ServiceExtAbility/SelectorServiceExtAbility.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/dialog_ui/ams_system_dialog/entry/src/main/ets/ServiceExtAbility/SelectorServiceExtAbility.ts b/services/dialog_ui/ams_system_dialog/entry/src/main/ets/ServiceExtAbility/SelectorServiceExtAbility.ts index 82d1e975616..c4b12bbe0ff 100644 --- a/services/dialog_ui/ams_system_dialog/entry/src/main/ets/ServiceExtAbility/SelectorServiceExtAbility.ts +++ b/services/dialog_ui/ams_system_dialog/entry/src/main/ets/ServiceExtAbility/SelectorServiceExtAbility.ts @@ -119,8 +119,14 @@ export default class SelectorServiceExtensionAbility extends extension { private async createWindow(name: string, windowType: number, rect) { console.info(TAG, "create window"); + console.info(TAG, "create window token: " + globalThis.abilityWant.parameters['ohos.aafwk.param.callerToken']); try { win = await window.create(globalThis.selectExtensionContext, name, windowType); + await win.bindDialogTarget(globalThis.abilityWant.parameters['ohos.aafwk.param.callerToken'], () => { + win.destroyWindow(); + winNum--; + if(winNum == 0) globalThis.selectExtensionContext.terminateSelf(); + }); await win.moveTo(rect.left, rect.top); await win.resetSize(rect.width, rect.height); if (globalThis.params.deviceType == "phone") { @@ -130,8 +136,8 @@ export default class SelectorServiceExtensionAbility extends extension { } await win.setBackgroundColor("#00000000"); await win.show(); - } catch { - console.error(TAG, "window create failed!"); + } catch (e) { + console.error(TAG, "window create failed: " + JSON.stringify(e)); } } }; -- Gitee