【问题背景】
快应用的manifest文件里使用permission属性,华为ide出现Invalid key提示,该如何处理?
【原因分析】
这个是因为ide版本更新后导致的,新版本的ide里去除了这个permission属性,默认是全获取权限,加入了permissionDesc获取权限说明,获取权限的理由描述,即当调用API需要用户授权时,在授权框显示的文字信息。理由描述需尽量清晰、合理。
permissionDesc可以配置name和desc两个属性信息。name目前支持的权限配置包括:WRITE_CALENDAR、ACCESS_FINE_LOCATION、CAMERA、RECORD_AUDIO、WRITE_EXTERNAL_STORAGE(1075+)、STORAGE_READ(1078+)、READ_PHONE_STATE(1078+)、NOTIFYCATION(1078+)、SILENT_NOTIFYCATION(1078+)、READ_CONTACT(1078+)、CAR_INFO。desc支持配置多语言字符串,但不支持以下配置:
固定字符串和变量字符串的混合,例如不支持配置为:"desc": "The reason is ${message.permissionDesc}"
多变量字符串拼接,例如不支持配置为:"desc": "${message.permissionDesc}${message.permissionDesc1}"
除 . 之外的子节点访问方式,例如不支持配置为:"desc": "获取权限理由如下:${message[‘permissionDesc’]}"
【示例代码】
"permissionDesc": [
{
"name": "ACCESS_FINE_LOCATION",
"desc": "此示例用来演示获取地理位置的能力,需要您授予获取地理位置的权限。"
},
{
"name": "RECORD_AUDIO",
"desc": "${message.permissionDesc}"
}
],
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh