From c55dd1361d9558afe6f3d5cec0d2655f9f217684 Mon Sep 17 00:00:00 2001 From: fanchenxuan Date: Thu, 10 Feb 2022 21:55:10 +0800 Subject: [PATCH] applicationName --- .../com.ohos.permissionmanager/.gitignore | 4 +++ .../com.ohos.permissionmanager/build.gradle | 6 ++-- .../permissionmanager/src/main/config.json | 8 +++++ .../ets/dynamic/common/components/dialog.ets | 31 +++++++++++++++++-- .../main/ets/dynamic/common/model/bundle.ets | 2 +- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 frameworks/com.ohos.permissionmanager/.gitignore diff --git a/frameworks/com.ohos.permissionmanager/.gitignore b/frameworks/com.ohos.permissionmanager/.gitignore new file mode 100644 index 000000000..d04e2ca95 --- /dev/null +++ b/frameworks/com.ohos.permissionmanager/.gitignore @@ -0,0 +1,4 @@ +/build +/.gradle +/.idea +local.properties \ No newline at end of file diff --git a/frameworks/com.ohos.permissionmanager/build.gradle b/frameworks/com.ohos.permissionmanager/build.gradle index d867e2f57..eb3699be3 100644 --- a/frameworks/com.ohos.permissionmanager/build.gradle +++ b/frameworks/com.ohos.permissionmanager/build.gradle @@ -6,11 +6,11 @@ ohos { signingConfigs { release { storeFile file('D:\\Huawei\\key\\permissionmanager\\permissionmanager.p12') - storePassword '0000001AA260E03E4EFC6DAE11257137D057327B7D76708207E97F857840A6BB0C3E2EDEBC8175EFE2D7' + storePassword '0000001A25D995836CD645EDFF66642AD2F24FA48C0D9362A95CFFA11CB34E0726CCD4CCA20F3C12D1D4' keyAlias = 'zhouyan' - keyPassword '0000001ABE41800D8041F8025A346900B00C8D44BE5145EADC3F6C769D4F24BA17CD120C388C3E21659E' + keyPassword '0000001A50F00AD7F3B95153388482BE5402BB0319A09FF796C4E0E14474725A46E236915DD5FA712E65' signAlg = 'SHA256withECDSA' - profile file('D:\\Huawei\\key\\permissionmanager\\permissionmanager.p7b') + profile file('D:\\Huawei\\key\\permissionmanager\\APL_SYSTEM_CORE.p7b') certpath file('D:\\Huawei\\key\\permissionmanager\\permissionmanager.cer') } } diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json index ae7cebf54..a646fdab0 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json @@ -60,6 +60,14 @@ { "name": "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS", "reason": "revoke sensitive permissions" + }, + { + "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason": "get applicationInfo" + }, + { + "name": "ohos.permission.GET_BUNDLE_INFO", + "reason": "get applicationInfo" } ] } diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets index 677a4a5d6..f1dd95144 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets @@ -14,8 +14,11 @@ */ import { getPermissionGroup } from "../utils/utils.ets" +import { BundleFlag, userId } from "../model/bundle.ets" import featureAbility from '@ohos.ability.featureAbility'; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; +import bundle from '@ohos.bundle'; +import Resmgr from '@ohos.resourceManager'; @Extend(Button) function customizeButton() { .backgroundColor($r('app.color.default_background_color')) @@ -34,6 +37,7 @@ export struct privacyDialog { @State reqPerms: Array = [] @State grantGroups: Array = [] @State userFixedFlag: number = 2 // means user fixed + @State appName: string = "" build() { Column() { @@ -53,7 +57,7 @@ export struct privacyDialog { Column() { Row() { Flex({ justifyContent: FlexAlign.Start }) { - Text("是否允许该应用访问" + this.grantGroups[this.count].groupName).fontSize(16) + Text("是否允许" + this.appName + "访问" + this.grantGroups[this.count].groupName).fontSize(16) .margin({ top: 16, left: 24 @@ -129,7 +133,7 @@ export struct privacyDialog { this.hasPrepared = false; featureAbility.getWant((err, want) => { this.reqPerms = want.parameters['ohos.user.grant.permission'] - this.accessTokenId = want.parameters['ohos.aafwk.param.callToken'] + this.accessTokenId = want.parameters['ohos.aafwk.param.callerToken'] console.log("GrantAbility request permission=" + JSON.stringify(this.reqPerms) + " tokenId = " + this.accessTokenId) this.reqPerms.forEach(item => { var group = getPermissionGroup(item) @@ -141,6 +145,29 @@ export struct privacyDialog { } }) this.hasPrepared = true; + bundle.getNameForUid(want.parameters['ohos.aafwk.param.callerUid'], (err, data) => { + if(err) { + console.log("GrantAbility getNameForUid error :" + err) + return + } + console.log("GrantAbility getNameForUid data :" + data) + bundle.getApplicationInfo(data, BundleFlag.GET_BUNDLE_DEFAULT, userId).then(applicationInfo => { + console.log("GrantAbility applicationInfo :" + JSON.stringify(applicationInfo)) + Resmgr.getResourceManager(data).then(item => { + item.getString(applicationInfo.labelId, (err, value) => { + if (value == undefined) { + console.log("GrantAbility label :" ) + this.appName = applicationInfo.label.replace('$string:', '') + } else { + console.log("GrantAbility labelValue :" + value) + this.appName = value + } + }) + }) + }).catch(err => { + console.log("GrantAbility applicationInfo11 error :" + err) + }) + }) }) } diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/model/bundle.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/model/bundle.ets index 4530bc6fc..7c29c39fc 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/model/bundle.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/model/bundle.ets @@ -34,5 +34,5 @@ export const BundleFlag = { */ GET_ABILITY_INFO_SYSTEMAPP_ONLY : 0x00000080 } -export const userId: number = 0 +export const userId: number = 100 -- Gitee