From ee9858506f5838ce38e1d829c9d9d695aec09779 Mon Sep 17 00:00:00 2001 From: fanchenxuan Date: Mon, 21 Jul 2025 11:31:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E9=83=A8=E5=85=A5=E5=8F=82=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fanchenxuan --- .../main/ets/GlobalExtAbility/GlobalExtAbility.ets | 5 +++-- .../src/main/ets/MainAbility/MainAbility.ts | 14 +++++++------- .../PermissionSheet/PermissionStateSheetDialog.ets | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/permissionmanager/src/main/ets/GlobalExtAbility/GlobalExtAbility.ets b/permissionmanager/src/main/ets/GlobalExtAbility/GlobalExtAbility.ets index fbcd464..01941eb 100644 --- a/permissionmanager/src/main/ets/GlobalExtAbility/GlobalExtAbility.ets +++ b/permissionmanager/src/main/ets/GlobalExtAbility/GlobalExtAbility.ets @@ -33,13 +33,14 @@ export default class GlobalExtensionAbility extends extension { if (!want.parameters) { return; } + let resource: string = want.parameters['ohos.sensitive.resource'] as string ?? ''; if (!globalDialogModel.permissionCheck()) { this.context?.terminateSelf(); return; } - if (!globalDialogModel.statusCheck(this.context, want.parameters['ohos.sensitive.resource'] as string)) { + if (!globalDialogModel.statusCheck(this.context, resource)) { this.context?.terminateSelf(); return; } @@ -53,7 +54,7 @@ export default class GlobalExtensionAbility extends extension { height: dis.height }; Log.info('want: ' + JSON.stringify(want)); - let property: Record = { 'globalState': want.parameters['ohos.sensitive.resource'] }; + let property: Record = { 'globalState': resource }; let storage: LocalStorage = new LocalStorage(property); globalDialogModel.createWindow(this.context, navigationBarRect, storage).then(window => { globalWindow = window; diff --git a/permissionmanager/src/main/ets/MainAbility/MainAbility.ts b/permissionmanager/src/main/ets/MainAbility/MainAbility.ts index e43948f..ffd1725 100644 --- a/permissionmanager/src/main/ets/MainAbility/MainAbility.ts +++ b/permissionmanager/src/main/ets/MainAbility/MainAbility.ts @@ -21,13 +21,14 @@ import { abilityAccessCtrl, bundleManager } from '@kit.AbilityKit'; const TAG = 'PermissionManager_Log:'; const USER_ID = 100; +let callerBundleName: string; export default class MainAbility extends UIAbility { onCreate(want, launchParam): void { console.log(TAG + 'MainAbility onCreate, ability name is ' + want.abilityName + '.'); - globalThis.bundleName = want.parameters.bundleName; - GlobalContext.store('bundleName', want.parameters.bundleName); + callerBundleName = want.parameters?.bundleName as string ?? ''; + GlobalContext.store('bundleName', callerBundleName); } onWindowStageCreate(windowStage): void { @@ -41,9 +42,9 @@ export default class MainAbility extends UIAbility { return; } - if (globalThis.bundleName) { - globalThis.currentApp = globalThis.bundleName; - this.getSperifiedApplication(globalThis.bundleName); + if (callerBundleName) { + globalThis.currentApp = callerBundleName; + this.getSperifiedApplication(callerBundleName); } else { globalThis.currentApp = 'all'; this.getAllApplications(); @@ -79,9 +80,8 @@ export default class MainAbility extends UIAbility { onNewWant(want): void { console.log(TAG + 'MainAbility onNewWant. want: ' + JSON.stringify(want)); - console.log(TAG + 'MainAbility onNewWant. bundleName: ' + JSON.stringify(want.parameters.bundleName)); - let bundleName = want.parameters.bundleName ? want.parameters.bundleName : 'all'; + let bundleName = want.parameters?.bundleName ? want.parameters.bundleName : 'all'; if (globalThis.currentApp === 'all') { if (globalThis.currentApp !== bundleName) { console.log(TAG + 'MainAbility onNewWant. all -> app'); diff --git a/permissionmanager/src/main/ets/PermissionSheet/PermissionStateSheetDialog.ets b/permissionmanager/src/main/ets/PermissionSheet/PermissionStateSheetDialog.ets index 1d8cd4a..f9a1d37 100644 --- a/permissionmanager/src/main/ets/PermissionSheet/PermissionStateSheetDialog.ets +++ b/permissionmanager/src/main/ets/PermissionSheet/PermissionStateSheetDialog.ets @@ -55,11 +55,11 @@ export function ReportDialogResult(wantPermissions: Permissions[]) { } export function getCallerBundleInfo(want: WantInfo): CallerBundleInfo { - let bundleName: string = want.parameters['ohos.aafwk.param.callerBundleName']; + let bundleName: string = want.parameters['ohos.aafwk.param.callerBundleName'] ?? ''; let uId: number = want.parameters['ohos.aafwk.param.callerUid'] ?? 0; let token: number = want.parameters['ohos.aafwk.param.callerToken'] ?? 0; - let permissions: Permissions[] = want.parameters['ohos.user.setting.permission']; - let globSwitch: number = want.parameters['ohos.user.setting.global_switch']; + let permissions: Permissions[] = want.parameters['ohos.user.setting.permission'] ?? []; + let globSwitch: number = want.parameters['ohos.user.setting.global_switch'] ?? -1; const callerBundle: CallerBundleInfo = { bundleName: bundleName, -- Gitee