HarmonyOS NEXT鸿蒙开发:配置权限

说明

官网指南

当应用需要某些功能时,如:震动,需要在 module.json5 配置文件的 requestPermissions 标签中声明权限,否则调用api会失败

requestPermissions

数组类型,其元素是对象,有以下属性:

  • name:需要使用的权限名称。类型:字符串,必填,需为系统已定义的权限,取值范围请参考 应用权限列表。

  • reason:申请权限的原因。类型:字符串,该字段用于应用上架校验,当申请的权限为 user_grant 权限时必填,并且需要进行多语种适配。使用string类资源引用。格式为 $string

  • usedScene:权限使用的场景,该字段用于应用上架校验,当申请的权限为 user_grant 权限时必填。包括 abilities 和 when 两个子项:

    • abilities:数组类型,使用权限的 UIAbility 或者 ExtensionAbility 组件的名称。

    • when:调用时机,如果配置此字段,只能填入固定值,不能为空

      • inuse(使用时)
      • always(始终)

例子

配置震动权限、使用麦克风权限

提示:配置麦克风权限后,还需要编写 向用户申请权限 的代码

{
  "module" : {
    // ...
requestPermissions: [
  {
    "name":"ohos.permission.VIBRATE", // 震动权限是 system_grant
  },
  {
    "name": "ohos.permission.MICROPHONE", // 麦克风权限是 user_grant,必须进行下面配置
    "reason": "$string:microphone_permission_reason", // 申请权限的原因,配置在 string.json 中
    "usedScene": {
      "when": "inuse", // 使用时
      "abilities": ["EntryAbility"] // 在 EntryAbility 组件中使用
    }
  }]

原文出处:/show_1GW3jCWvGMY.html