diff --git a/frameworks/com.ohos.permissionmanager/.gitignore b/frameworks/com.ohos.permissionmanager/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d04e2ca95c9997b93e25e98a97b929c9b90bdeea --- /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 d867e2f57fd1099393c59f2866a5ac59889c351b..eb3699be35333fecbc37829d98fbf5a3bef8e74b 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 ae7cebf540d1d8f752927530f9c9ad29a4fed225..a646fdab0b748190fa436588b543948dc3de0c0d 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 677a4a5d6ef9941b16dafe2574e51f3f64ce964a..f1dd9514469915a7bb2e952e87d89b8195e85477 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 4530bc6fcfec5b16b97fc785a8743ba7b51339ad..7c29c39fcb2aedd00dfede59d838ba0c2ccec155 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