HarmonyOS鸿蒙Next中应用在运行时向用户索取附近设备等权限未同步告知权限申请的使用目的不符合相关法律法规要求

HarmonyOS鸿蒙Next中应用在运行时向用户索取附近设备等权限未同步告知权限申请的使用目的不符合相关法律法规要求 【问题描述】:BLUETOOTH_SCAN,BLUETOOTH_CONNECT,ACCESS_COARSE_LOCATION,ACCESS_FINE_LOCATION四个权限都做了告知,但获取附件设备的权限没有告知出来,后面的位置权限是正常触发的,

现在想知道这个链接附件设备的是需要增加对那个权限做告知cke_1066.png

【问题现象】

cke_4181.png

previewableImage


更多关于HarmonyOS鸿蒙Next中应用在运行时向用户索取附近设备等权限未同步告知权限申请的使用目的不符合相关法律法规要求的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

更多关于HarmonyOS鸿蒙Next中应用在运行时向用户索取附近设备等权限未同步告知权限申请的使用目的不符合相关法律法规要求的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


鸿蒙Next应用在运行时申请附近设备等权限时,必须同步明确告知用户权限申请的具体使用目的。这直接遵循《个人信息保护法》等法规,要求应用在收集个人信息前,需公开、透明地说明处理规则,并征得用户同意。未履行该告知义务,将构成违规。

根据您提供的截图和描述,问题核心在于应用在HarmonyOS Next上运行时,请求“连接附近设备”权限时,系统弹出的权限申请对话框没有同步显示该权限的使用目的(即“权限申请说明”),这不符合《个人信息保护法》等法规中关于“明确告知”的要求。

根本原因分析:

在HarmonyOS Next中,“连接附近设备”权限是一个复合权限。它不是一个独立的单一权限,而是由一组权限组合而成,并对应一个统一的、面向用户的权限申请入口。

根据您的配置和系统行为,触发“连接附近设备”弹窗时,系统实际上是在后台同时申请以下两个权限:

  1. ohos.permission.APPROXIMATELY_LOCATION (粗略位置权限)
  2. ohos.permission.DISCOVER_BLUETOOTH (发现蓝牙设备权限)

问题在于:您在应用的 module.json5 配置文件中,只为 ACCESS_COARSE_LOCATIONBLUETOOTH_SCAN 等权限单独配置了 reason(权限申请理由),但系统在为“连接附近设备”这个组合权限弹窗时,可能没有自动聚合或显示您为底层单个权限配置的所有 reason,或者显示逻辑不完整,导致告知缺失。

解决方案:

您需要为“连接附近设备”这个组合权限场景显式配置其专用的权限申请说明。这通过在 module.json5 文件的 requestPermissions 节点下,为特定的权限组场景配置 reason 来实现。

请检查并修改您的 module.json5 文件,确保包含了类似以下的配置:

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.APPROXIMATELY_LOCATION",
        "reason": "需要您的位置信息以发现附近的蓝牙设备,用于连接和控制",
        "usedScene": {
          "abilities": [
            "您的Ability名称"
          ],
          "when": "inuse"
        }
      },
      {
        "name": "ohos.permission.DISCOVER_BLUETOOTH",
        "reason": "需要扫描蓝牙设备以发现并连接附近的配件",
        "usedScene": {
          "abilities": [
            "您的Ability名称"
          ],
          "when": "always"
        }
      },
      // 关键:为“连接附近设备”这个系统级的权限弹窗场景配置说明
      // 注意:这里的“name”可能需要使用系统预定义的权限组标识符,例如"ohos.permission_group.NEARBY_DEVICE"(请根据最新文档确认确切标识)
      // 以下配置是核心思路,具体字段名称需参考DevEco Studio的代码提示或官方文档
      {
        "name": "ohos.permission_group.NEARBY_DEVICE", // 或类似的权限组名
        "reason": "此权限用于扫描并连接附近的蓝牙设备(如耳机、手环),以提供设备配对和数据同步功能。",
        "usedScene": {
          "abilities": [
            "您的Ability名称"
          ]
        }
      }
    ]
  }
}

关键步骤:

  1. 确认权限组标识:查找HarmonyOS Next官方文档中关于“连接附近设备”或“附近设备”权限组的常量定义(例如 ohos.permission_group.NEARBY_DEVICE)。这是确保系统在弹出该统一对话框时能读取到对应 reason 的关键。
  2. 配置聚合理由:为该权限组配置一个完整、清晰的 reason,这个理由应该概括说明申请粗略位置发现蓝牙设备权限的综合目的。您之前为单个权限配置的 reason 可以保留,但必须确保这个组合权限的 reason 存在。
  3. 测试验证:重新编译安装应用,测试触发“连接附近设备”权限申请,检查系统弹窗中是否已正确显示您配置的使用目的。

总结: 您遇到的问题是因HarmonyOS Next对“连接附近设备”这类组合权限的告知机制,未能自动关联您为底层权限配置的说明。解决方法是为该权限组本身显式添加 reason 字段,进行集中告知,以满足合规要求。请优先查阅最新的HarmonyOS API参考文档以获取准确的权限组名称。

回到顶部