0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发Ability Kit程序框架服务:声明权限

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-07-01 09:22 次阅读

声明权限

应用在申请权限时,需要在项目的配置文件中,逐个声明需要的权限,否则应用将无法获取授权。

在配置文件中声明权限

应用需要在module.json5配置文件的[requestPermissions]标签中声明权限。

属性说明 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]取值范围
name必须,填写需要使用的权限名称。需为系统已定义的权限,取值范围请参考[应用权限列表]
reason可选,当申请的权限为user_grant权限时此字段必填,用于描述申请权限的原因。**说明:**该字段用于应用上架校验,当申请的权限为user_grant权限时必填,并且需要进行多语种适配。使用string类资源引用。格式为$string: ***。
usedScene可选,当申请的权限为user_grant权限时此字段必填。描述权限使用的场景由abilities和when组成。其中abilities可以配置为多个UIAbility组件,when表示调用时机。**说明:**默认为可选,当申请的权限为user_grant权限时,abilities标签必填,when标签可选。abilities:UIAbility或者ExtensionAbility组件的名称。 when:inuse(使用时)、always(始终)。

声明样例

{
  "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"
        }
      }
    ]
  }
}

权限使用理由的文案内容规范

当申请的权限为user_grant权限时,字段reason(申请权限的原因)必填。开发者需要在应用配置文件中,配置每一个需要使用的权限。

但在实际向用户弹窗申请授权时,user_grant权限将会以[权限组]的形式向用户申请。当前支持的权限组请查看[应用权限组列表]

reason字段的内容写作规范及建议

  1. 保持句子简洁、不要加入多余的分割符号。
    建议句式 :用于某事。
    示例 :用于扫码拍照。
  2. 用途描述的字串建议小于72个字符(即36个中文字符,UI界面显示大约为两行)。不能超过256个字符,以保证多语言适配的体验。
  3. 如果不写,将展示默认的申请理由。
  4. HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151547.png

权限使用理由展示方式

权限使用理由有两个展示途径:授权弹窗界面和“设置(Settings)”界面。“设置”的具体路径:设置-隐私-权限管理-某应用某权限详情。

  1. 如果是申请“电话、信息、日历、通讯录、通话记录”这五个权限组中的权限,根据工信部要求,将展示具体子权限的内容与用途。
    句式 :包括子权限A和子权限B,用于某事。
    样例 :用于获取通话状态和移动网络信息,用于安全运营和统计计费服务。
  2. 如果是申请其他权限组中的权限,系统将使用权限组内当前被申请的第一个子权限的使用理由,作为该权限组的使用理由进行展示。组内的排序,固定按照权限管理内排列的权限组数组顺序。
    举例说明:权限组A = {权限A, 权限B, 权限C};申请传入的权限是{权限C, 权限B},界面将展示权限B的权限使用理由。
    审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 框架
    +关注

    关注

    0

    文章

    384

    浏览量

    17159
  • 鸿蒙
    +关注

    关注

    55

    文章

    2146

    浏览量

    42282
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发接口Ability框架:【 (Context模块)】

    Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
    的头像 发表于 05-13 16:04 421次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context模块)】

    鸿蒙Ability Kit程序框架服务)【ServiceExtensionAbility】

    [ServiceExtensionAbility]是SERVICE类型的ExtensionAbility组件,提供后台服务能力,其内部持有了一个[ServiceExtensionContext],通过[ServiceExtensionContext]提供了丰富的接口供外部使用。
    的头像 发表于 06-04 14:50 683次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【ServiceExtensionAbility】

    鸿蒙Ability Kit程序框架服务)【UIExtensionAbility】

    [UIExtensionAbility]是UI类型的ExtensionAbility组件,需要与[UIExtensionComponent]一起配合使用,开发者可以在UIAbility的页面中通过
    的头像 发表于 06-05 09:19 769次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【UIExtensionAbility】

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

    都为normal等级。权限类型分为system_grant和user_grant两种类型。 ** 二、 配置文件权限声明** 应用需要在工程配置文件中,对需要的权限逐个
    发表于 04-16 14:40

    鸿蒙APP开发鸿蒙权限请求框架

    关于 HarmonyOS 的动态授权的常规操作流程和代码我之前写过一篇文章:《鸿蒙动态权限申请完整规范流程和操作详解》。 文章地址如下: https://harmonyos.51cto.com
    的头像 发表于 09-28 09:19 2490次阅读

    如何使用鸿蒙系统上权限请求框架桃夭

       桃夭是鸿蒙系统上的一款权限请求框架,对请求权限的代码进行高度封装,极大的简化了申请权限的代码逻辑,同时支持在
    的头像 发表于 11-10 09:34 1907次阅读

    一款好用的鸿蒙系统上的权限请求框架

       桃夭是鸿蒙系统上的一款权限请求框架,对请求权限的代码进行高度封装,极大的简化了申请权限的代码逻辑,同时支持在
    的头像 发表于 12-03 10:10 1684次阅读

    鸿蒙应用模型:【Ability Kit】简介

    Ability Kit程序框架服务)提供了应用程序开发
    的头像 发表于 05-29 14:41 203次阅读
    <b class='flag-5'>鸿蒙</b>应用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】简介

    鸿蒙Ability Kit程序框架服务)【Ability内页面间的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 91次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【<b class='flag-5'>Ability</b>内页面间的跳转】

    鸿蒙Ability Kit程序框架服务)【Ability与ServiceExtensionAbility通信】

    本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
    的头像 发表于 06-05 09:28 252次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【<b class='flag-5'>Ability</b>与ServiceExtensionAbility通信】

    鸿蒙Ability Kit程序框架服务)【应用启动框架AppStartup】

    `AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
    的头像 发表于 06-10 18:38 406次阅读

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型概述

    本文介绍如何将一个FA模型开发声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 128次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:FA模型切换Stage模型概述

    鸿蒙开发Ability Kit程序框架服务:应用权限管控概述 程序访问控制

    系统提供了一种允许应用访问系统资源(如:通讯录等)和系统能力(如:访问摄像头、麦克风等)的通用权限访问方式,来保护系统数据(包括用户个人数据)或功能,避免它们被不当或恶意使用。
    的头像 发表于 07-01 10:21 112次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:应用<b class='flag-5'>权限</b>管控概述 <b class='flag-5'>程序</b>访问控制

    鸿蒙开发Ability Kit程序框架服务:选择申请权限的方式

    应用在访问数据或者执行操作时,需要评估该行为是否需要应用具备相关的权限。如果确认需要目标权限,则需要在应用安装包中申请目标权限
    的头像 发表于 07-01 09:50 103次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:选择申请<b class='flag-5'>权限</b>的方式

    鸿蒙开发Ability Kit程序访问控制:对所有应用开放

    在申请目标权限前,建议开发者先阅读[申请应用权限],对权限的工作流程有基本了解后,再结合以下权限字段的具体说明,判断应用能否申请目标
    的头像 发表于 07-02 14:32 117次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b>访问控制:对所有应用开放