HarmonyOS鸿蒙Next中在app的module.json5里提交权限报错

HarmonyOS鸿蒙Next中在app的module.json5里提交权限报错 添加的权限如下

{ "name": "ohos.permission.APP_TRACKING_CONSENT" }  

报错信息
The 'reason' and 'usedScene' attributes are mandatory for user_grant permissions.

应该怎么解决

4 回复

当申请的权限为user_grant权限时,reason和usedScene是必填项,看你并未配置这俩个字段,详情请参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/declare-permissions-in-acl-V5

更多关于HarmonyOS鸿蒙Next中在app的module.json5里提交权限报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个权限的使用需要添加描述,并且在代码中调用检查权限是否开启,没开启的话还要调用授权弹窗,当用户点同意后才能继续使用。

路径:src/main/module.json5

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.APP_TRACKING_CONSENT",
        "reason": "$string:APP_TRACKING_CONSENT_reason",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when":"inuse"
        }
      }
    ],

路径:src/main/resources/base/element/string.json

{
  "string": [
    {
      "name": "module_desc",
      "value": "module description"
    },
    {
      "name": "EntryAbility_desc",
      "value": "description"
    },
    {
      "name": "EntryAbility_label",
      "value": "label"
    },
    {
      "name": "APP_TRACKING_CONSENT_reason",
      "value": "需要xxx权限说明"
    }
  ]
}

代码量比较多就不继续粘了,建议你看下我之前写的实现分贝仪功能代码,逻辑是一样,就把权限换一下就行了。

参考:https://developer.huawei.com/consumer/cn/blog/topic/03165958983248085

在HarmonyOS鸿蒙Next中,如果在`module.json5`文件中提交权限时遇到报错,可能是由于权限声明格式不正确或权限名称拼写错误。`module.json5`文件用于定义应用的模块配置,包括权限声明。权限声明需要在`module.json5`文件的`abilities`或`module`节点下正确配置。常见的错误包括权限名称未使用正确的字符串格式,或权限未在`requestPermissions`节点中正确声明。确保权限名称与系统提供的权限列表一致,并遵循JSON格式规范。

在HarmonyOS鸿蒙Next中,如果在module.json5中提交权限时遇到报错,可能是以下原因导致的:

  1. 权限声明错误:检查权限名称是否正确,确保与系统定义的权限一致。
  2. 权限未在requestPermissions中声明:确保所需权限已在requestPermissions字段中正确声明。
  3. 权限分组问题:某些权限需要分组声明,确保按照系统要求分组。
  4. 格式问题:检查module.json5文件格式,确保JSON语法正确,如逗号、引号等。

建议仔细阅读官方文档,确保权限声明的正确性。

回到顶部