HarmonyOS鸿蒙Next中【快应用】权限弹框理由描述如何自定义

HarmonyOS鸿蒙Next中【快应用】权限弹框理由描述如何自定义 问题背景: 快应用中的授权弹框一般是用来提示用户应用即将使用该权限,但有时候系统自带的弹框内容并不能很好的描述获取该权限的作用,就有可能导致用户拒绝该权限,该用户可能就流失了,而快应用在1072版本之后推出了permissionDesc属性,开发者可以自定义弹框取权限的理由描述,从而更好的保留用户。

解决方案: Manifest文件里设置permissionDesc。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’]}”。

示例代码:

{
  "package": "com.huawei.text",
  "name": "text",
  "versionName": "1.0.0",
  "versionCode": 1,
  "icon": "/Common/logo.png",
  "minPlatformVersion": 1100,
  "features": [],
  "config": {},
  "permissionDesc": [
    {
      "name": "ACCESS_FINE_LOCATION",
      "desc": "此示例用来演示获取地理位置的能力,需要您授予获取地理位置的权限。"
    }
  ],
  "router": {
    "entry": "Hello",
    "pages": {
      "Hello": {
        "component": "hello"
      },
      "New": {
        "component": "newpage"
      }
    }
  },
  "display": {
    "pages": {
      "Hello": {
        "titleBarText": "TitleBar"
      }
    }
  }
}

截图:


更多关于HarmonyOS鸿蒙Next中【快应用】权限弹框理由描述如何自定义的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

很赞

更多关于HarmonyOS鸿蒙Next中【快应用】权限弹框理由描述如何自定义的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,自定义【快应用】权限弹框的理由描述,可以通过在config.json文件中配置permissions字段来实现。具体步骤如下:

  1. 打开config.json文件。
  2. permissions字段中,为每个权限添加reason属性,描述请求该权限的原因。
  3. 保存并重新编译应用。

示例:

{
  "permissions": [
    {
      "name": "ohos.permission.CAMERA",
      "reason": "需要访问相机以拍摄照片"
    }
  ]
}

这样,当应用请求权限时,弹框中会显示自定义的理由描述。

回到顶部