HarmonyOS 鸿蒙Next中授权弹窗如何添加权限说明

HarmonyOS 鸿蒙Next中授权弹窗如何添加权限说明 工信部要求获取用户信息时需要给出提示。 比如在获取定位信息时,三方会在屏幕顶部提示“xx会使用您当前的位置,用于xxx“ 三方希望在调用位置信息时,在弹出授权访问位置信息的弹窗里提供上述提示信息的展示位置

4 回复

在配置文件里的reason添加说明就可,详细请看下面官方文档。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/declare-permissions-V5

更多关于HarmonyOS 鸿蒙Next中授权弹窗如何添加权限说明的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以实现二级描述,在添加权限的地方配置reason字段的信息,

“requestPermissions”:[
    {
        “name”: “对应的权限”,
        “reason”: “$string:page_show”//要展示的内容
    }
]

规范参考:权限使用理由的文案内容规范

在HarmonyOS鸿蒙Next中,授权弹窗添加权限说明可以通过以下步骤实现:

  1. 定义权限说明:在config.json文件中,找到abilities节点下的permissions字段,定义所需的权限,并在description字段中添加权限说明。
{
  "module": {
    "abilities": [
      {
        "permissions": [
          {
            "name": "ohos.permission.CAMERA",
            "description": "需要访问相机以拍摄照片和视频。"
          }
        ]
      }
    ]
  }
}
  1. 动态请求权限:在代码中使用requestPermissionsFromUser方法请求权限时,系统会自动显示包含权限说明的弹窗。
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

let atManager = abilityAccessCtrl.createAtManager();
let permissions: Array<string> = ['ohos.permission.CAMERA'];

atManager.requestPermissionsFromUser(this.context, permissions, (err, data) => {
  if (err) {
    console.error(`Request permissions failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.info('Request permissions success');
  }
});
  1. 权限说明显示:当用户触发权限请求时,系统会显示一个弹窗,其中包含在config.json中定义的权限说明。

通过以上步骤,可以在HarmonyOS鸿蒙Next中为授权弹窗添加权限说明。

在HarmonyOS鸿蒙Next中,授权弹窗的权限说明可以通过以下步骤添加:

  1. 配置权限:在config.json文件中声明所需的权限,例如:

    "reqPermissions": [
        {
            "name": "ohos.permission.CAMERA",
            "reason": "需要访问相机以拍摄照片"
        }
    ]
    
  2. 动态请求权限:在代码中使用requestPermissionsFromUser方法请求权限,并传递权限说明:

    let permissions: Array<string> = ['ohos.permission.CAMERA'];
    let reason: string = '需要访问相机以拍摄照片';
    requestPermissionsFromUser(this.context, permissions, reason).then((data) => {
        console.log('权限请求结果:', data);
    });
    
  3. 弹窗显示:系统会自动显示授权弹窗,包含权限说明,用户可选择允许或拒绝。

回到顶部