说明
当应用需要某些功能时,如:震动,需要在 module.json5 配置文件的 requestPermissions 标签中声明权限,否则调用api会失败
requestPermissions
数组类型,其元素是对象,有以下属性:
name:需要使用的权限名称。类型:字符串,必填,需为系统已定义的权限,取值范围请参考 应用权限列表。
reason:申请权限的原因。类型:字符串,该字段用于应用上架校验,当申请的权限为
user_grant权限时必填,并且需要进行多语种适配。使用string类资源引用。格式为$stringusedScene:权限使用的场景,该字段用于应用上架校验,当申请的权限为
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 组件中使用
}
}]