首页 > 其他分享 >学习笔记(四十八):声明权限配置

学习笔记(四十八):声明权限配置

时间:2024-11-28 17:10:36浏览次数:15  
标签:string EntryAbility 申请 笔记 reason 使用 四十八 权限

概述:

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

在 src/main/module.json5 文件中进行权限声明配置

使用示例:

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "requestPermissions": [ // 权限声明
      {
        "name" : "ohos.permission.INTERNET", // 网络权限
        "reason": "$string:permission_season_internet", //可选字段 该字段用于应用上架校验,当申请的权限为user_grant权限时必填,并且需要进行多语种适配。使用string类资源引用。格式为$string: ***。
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"always" // 可选填写,但如果配置此字段,只能填入固定值inuse(使用时)、always(始终),不能为空。
        }
      }
    ],
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",//app图标
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

 

 

注意事项:

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

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

  1. 字串应为直白、具体、易理解的完整短句, 用于向用户说明应用使用敏感权限的理由。句子避免使用被动语态,并以句号结尾。

    • 建议句式:用于做某事。

    • 样例:以申请相机权限的reason字符串为例。

      正例:用于视频通话。

      反例:使用相机。

  2. 用途描述的字串建议小于72个字符(即36个中文字符,UI界面显示大约为两行)。不能超过256个字符,以保证多语言适配的体验。

  3. 字串不能为空白字符串,即不能不填,也不能只填空格符。

  4. 如果应用申请的权限用于多个场景,需要确保字串的完整性,让用户了解应用使用此权限的所有场景;多个HAP包内如果申请同一个权限,各个权限Reason字段需要保持场景的完整性和一致性。

权限使用理由展示方式

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

  1. 如果是申请“电话、信息、日历、通讯录、通话记录”这五个权限组中的权限,根据工信部要求,将展示具体子权限的内容与用途。

    句式:包括子权限A和子权限B,用于某事。

    样例:用于获取通话状态和移动网络信息,用于安全运营和统计计费服务。

  2. 如果是申请其他权限组中的权限,系统将使用权限组内当前被申请的第一个子权限的使用理由,作为该权限组的使用理由进行展示。组内的排序,固定按照权限管理内排列的权限组数组顺序。

    举例说明:权限组A = {权限A, 权限B, 权限C};申请传入的权限是{权限C, 权限B},界面将展示权限B的权限使用理由。

标签:string,EntryAbility,申请,笔记,reason,使用,四十八,权限
From: https://www.cnblogs.com/xqxacm/p/18574646

相关文章

  • 深入理解 Java 虚拟机-第一部分 走进 Java 笔记
    Sun/Oracle公司研发的热门虚拟机有三个:ClassicVM/ExactVM/HotSpotVMClassicVM:基于句柄(Handle)的对象查找方式,需要外挂JITExactVM:优于ClassicVM,使用了准确式内存管理(记录内存中存储的类型是地址还是数值),丢弃句柄,内置JIT,支持热点代码探测(通过计数器找出有......
  • NeRF学习笔记
    NeRF学习笔记参考资料十分钟带你快速入门NeRF原理_哔哩哔哩_bilibili任务概述网络结构:输入1.采样点位置数据集是五维数据。thetaphi决定了射线的方向,xyz是相机位置。但是感觉x,y,z,thetaphi为什么不直接用xyz表示?感觉剩下两个信息是冗余的。因为可能和射线有关,所以需......
  • Allegro学习笔记( 七)快速生成禁布区域RouteKeepin和PackageKeepin
    PCB设计的时候都要设置禁布区域,因为PCB制造工艺的原因,一般走线或是铜箔需要沿着板框内缩一定的距离,这个区域就是所谓的RouteKeepin。还有一些特殊的PCB,因为结构等等的原因,规定板边范围内不能放置元器件,也就是所谓的PackageKeepin。说了这两个区域,肯定不是需要手动坐标去画的,......
  • 【HTML笔记】
    骨架 点击!加Enter快速生成骨架html:整个网页head:网页头部,用来存放给浏览器看的信息,例如CSS title:网页标题 body:网页主体,用来存放给用户看的信息,例如图片、文字注释Ctrl加/ 快速生成<!-- 在里面写注释 -->  排版标签标题  h1~h6  <hn></hn>  特点-......
  • 泷羽sec-shell脚本(1)脚本创建执行与变量使用 学习笔记
     声明!学习视频来自B站up主**泷羽sec**有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B......
  • python学习笔记09 python中的运算符
    上一篇记录中我们学习了介绍python中的进制、进制转换、原码反码补码这一篇我们来介绍python中的各类运算符及使用运算符操作数:参与运算的变量或者常量或具体的数值操作符:将参与运算的量连接起来的符号表达式:由操作数和操作符构成且符合python语法规范的式子,不同的操......
  • 深度学习笔记——DiT(Diffusion Transformer)
    本文详细介绍Transformer架构图像生成方面的应用,将Diffusion和Transformer结合起来的模型:DiT。目前DiT已经成为了AIGC时代的新宠儿,视频和图像生成不可缺少的一部分。文章目录论文定义架构与传统(U-Net)扩散模型区别架构噪声调度策略与传统扩散的相同输入图像/条件......
  • C语言笔记——数组
    一维数组C语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。C中的数组1、数组的定义格......
  • C语言笔记--选择和循环语句
    分支语句ifswitch循环语句whilefordowhilegoto语句什么是语句C语句可分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。可......
  • 海康DS-MCH208安全帽相机的开发笔记
    1、需要在手机里面安装一个【小AI助手】的APP。2、按开关键启动相机,然后按左上角的按键,连续按两次,会提示“打开热点”。3、手机通过WIFI连接到相机的热点。热点的默认名称是【miniAI-Kxxxxxxx】,其中Kxxxxxxx就是相机的序列号,在相机背面的标签上会有写。4、然后打开【小AI助手】......