[文章]鸿蒙原生应用元服务-访问控制(权限)开发场景与权限声明

阅读量0
0
0

** 一、 场景介绍**

应用的APL(Ability Privilege Level)等级分为normal、system_basic和system_core三个等级,默认情况下,应用的APL等级都为normal等级。权限类型分为system_grant和user_grant两种类型。

** 二、 配置文件权限声明**

应用需要在工程配置文件中,对需要的权限逐个声明,未在配置文件中声明的权限,应用将无法获得授权。HarmonyOS提供了两种应用模型,分别为FA模型和Stage模型不同的应用模型的应用包结构不同,所使用的配置文件不同,我们主讲Stage模型。

配置文件标签说明如下表所示。

标签 是否必填 说明
name 权限名称。
reason 描述申请权限的原因。 说明 :当申请的权限为user_grant权限时,此字段必填。
usedScene 描述权限使用的场景和时机。 说明 :当申请的权限为user_grant权限时,此字段必填。
abilities 标识需要使用到该权限的Ability,标签为数组形式。 适用模型 :Stage模型
ability 标识需要使用到该权限的Ability,标签为数组形式。 适用模型 :FA模型
when 标识权限使用的时机,值为inuse/always。- inuse:表示为仅允许前台使用。- always:表示前后台都可使用。

Stage模型

使用Stage模型的应用,需要在module.json5配置文件中声明权限。

{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.PERMISSION1",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"inuse"
        }
      },
      {
        "name" : "ohos.permission.PERMISSION2",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"always"
        }
      }
    ]
  }
}

本文根据HarmonyOS官方文档API9整理

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友