HarmonyOS NEXT鸿蒙开发:配置权限 作者:马育民 • 2024-11-17 22:49 • 阅读:10157 # 说明 [官网指南](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/declare-permissions-V5 "官网指南") 当应用需要某些功能时,如:震动,需要在 `module.json5` 配置文件的 `requestPermissions` 标签中声明权限,否则调用api会失败 # requestPermissions 数组类型,其元素是对象,有以下属性: - name:需要使用的权限名称。类型:字符串,必填,需为系统已定义的权限,取值范围请参考 [应用权限列表](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-for-all-V5 "应用权限列表")。 - 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 组件中使用 } }] ``` 原文出处:http://malaoshi.top/show_1GW3jCWvGMY.html