电子说
应用在访问数据或者执行操作时,需要评估该行为是否需要应用具备相关的权限。如果确认需要目标权限,则需要在应用安装包中申请目标权限。
每一个权限的权限等级、授权方式不同,申请权限的方式也不同,开发者在申请权限前,需要先根据以下流程判断应用能否申请目标权限。
上图的数字标注,请参考以下说明:
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
] 应用可根据目标权限的开放范围、授权方式,参考以下操作路径申请对应权限。
权限类型 | 授权方式 | 操作路径 |
---|---|---|
[所有应用可申请] | system_grant | [声明权限] > 访问接口 |
[所有应用可申请] | user_grant | [声明权限] > [向用户申请授权] > 访问接口 |
[允许normal等级应用通过ACL跨级申请] | system_grant | [声明权限] > [声明ACL权限] > 访问接口 |
[允许normal等级应用通过ACL跨级申请] | user_grant | [声明权限] > [声明ACL权限]> [向用户申请授权] > 访问接口 |
说明:
- 如果system_basic等级的权限,ACL使能为false,则normal等级应用无法申请该权限。
- 当前可通过DevEco Studio完成[ACL方式跨级别申请权限],但该方法仅用于应用调试阶段使用,不可用于发布上架应用市场。如果需要开发商用版本的应用,请在对应的应用市场进行发布证书和Profile文件的申请。
权限等级 | 授权方式 | ACL使能 | 操作路径 |
---|---|---|---|
normal、system_basic | system_grant | - | [声明权限]> 访问接口 |
normal、system_basic | user_grant | - | [声明权限] > [向用户申请授权]> 访问接口 |
system_core | system_grant | true | [声明权限]> [声明ACL权限]> 访问接口 |
system_core | user_grant | true | [声明权限] > [声明ACL权限] > [向用户申请授权] > 访问接口HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
如果应用需要将自身的APL等级声明为system_basic及以上,在开发应用安装包时,需要修改应用的HarmonyAppProvision配置文件即SDK目录下的“Toolchains / _{Version} _/ lib / UnsgnedReleasedProfileTemplate.json
”文件),并重新进行应用签名。
修改方式:
HarmonyAppProvision配置文件示例如下所示,修改"bundle-info" > "apl" 字段。
"bundle-info" : {
// ...
"apl": "system_basic",
// ...
},
说明: 直接修改HarmonyAppProvision配置文件的方式,仅用于应用调试阶段使用,不可用于发布上架应用市场。如果需要开发商用版本的应用,请在对应的应用市场进行发布证书和Profile文件的申请。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !