HarmonyOS 鸿蒙Next隐私协议权限不一致的问题

HarmonyOS 鸿蒙Next隐私协议权限不一致的问题

cke_241.png

现在使用的权限如下:

{
  "requestPermissions": [
    {
      "name": "ohos.permission.INTERNET",
      "reason": "$string:internet_permission_reason"
    },
    {
      "name": "ohos.permission.CAMERA",
      "reason": "$string:camera_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.READ_MEDIA",
      "reason": "$string:read_media_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.WRITE_MEDIA",
      "reason": "$string:write_media_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.MEDIA_LOCATION",
      "reason": "$string:media_location_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.LOCATION",
      "reason": "$string:location_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.LOCATION_IN_BACKGROUND",
      "reason": "$string:location_in_background_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.APPROXIMATELY_LOCATION",
      "reason": "$string:approximately_location_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.APP_TRACKING_CONSENT",
      "reason": "$string:app_tracking_consent_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.GET_WIFI_INFO",
      "reason": "$string:get_wifi_info_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.GET_NETWORK_INFO",
      "reason": "$string:get_network_info_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    },
    {
      "name": "ohos.permission.KEEP_BACKGROUND_RUNNING",
      "reason": "$string:keep_background_running_permission_reason"
    },
    {
      "name": "ohos.permission.ACCESS_BIOMETRIC",
      "reason": "$string:access_biometric_permission_reason",
      "usedScene": {
        "abilities": ["EntryAbility"],
        "when": "inuse"
      }
    }
  ]
}

但是在生成隐私协议时,这些权限并没有对应匹配项,导致提交测试时一致提示权限不一致,这些没有的权限要如何在隐私协议声明?


更多关于HarmonyOS 鸿蒙Next隐私协议权限不一致的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

鸿蒙Next隐私协议权限不一致问题通常出现在应用权限声明与实际使用不符。检查应用config.json中的"reqPermissions"字段是否完整声明了所有使用的权限。在ability或page中调用敏感权限时,需确保已在隐私协议中明确说明用途。使用hvigor构建时,权限检测会更加严格。最新SDK版本已强化权限校验机制,未声明权限将导致安装失败。

更多关于HarmonyOS 鸿蒙Next隐私协议权限不一致的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


从截图和代码来看,这是HarmonyOS Next中权限声明与隐私协议不匹配的问题。关键点如下:

  1. 系统权限(如ohos.permission.INTERNET)属于基础权限,不需要在隐私协议中声明。但敏感权限(如CAMERA/LOCATION等)必须同时在权限配置和隐私协议中声明。

  2. 解决方案:

    • resources/base/profile/privacy.json中添加对应的权限声明
    • 格式示例:
      {
        "privacy": [
          {
            "name": "ohos.permission.CAMERA",
            "description": "$string:camera_privacy_desc"
          },
          {
            "name": "ohos.permission.LOCATION",
            "description": "$string:location_privacy_desc"
          }
          // 其他敏感权限...
        ]
      }
      
  3. 注意每个敏感权限的description需要与config.json中的reason区分开,但内容要保持一致。

  4. 普通权限(如INTERNET)和特殊权限(如KEEP_BACKGROUND_RUNNING)通常不需要在隐私协议中声明。

建议检查所有敏感权限是否都已正确添加到privacy.json文件中,并确保描述信息清晰准确。

回到顶部