HarmonyOS鸿蒙Next中审核巡检说违规获取了Android Id,但我们排查并没有违规获取,现在用户未授权隐私政策是不会初始化任何三方和隐私信息的获取的

HarmonyOS鸿蒙Next中审核巡检说违规获取了Android Id,但我们排查并没有违规获取,现在用户未授权隐私政策是不会初始化任何三方和隐私信息的获取的 cke_233.png 具体审核信息如上图所示


更多关于HarmonyOS鸿蒙Next中审核巡检说违规获取了Android Id,但我们排查并没有违规获取,现在用户未授权隐私政策是不会初始化任何三方和隐私信息的获取的的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

尊敬的开发者,您好!
当前核实您已在互动中心(单号461323198493375318)咨询相关问题且已有答复,还请参考工单提供的调用栈定位优化。
谢谢!

更多关于HarmonyOS鸿蒙Next中审核巡检说违规获取了Android Id,但我们排查并没有违规获取,现在用户未授权隐私政策是不会初始化任何三方和隐私信息的获取的的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


根据您提供的审核信息截图,问题核心在于 Settings.Secure.getString() 方法的调用被系统判定为获取Android ID。

在HarmonyOS Next中,系统对敏感API的调用检测非常严格。即使您的应用逻辑是“用户未授权隐私政策则不初始化”,但代码中只要存在调用这些敏感API的路径(无论该路径在运行时是否实际执行),都可能触发审核系统的静态扫描告警

关键点分析:

  1. 检测机制:审核系统通常进行静态代码扫描运行时行为监控。您的代码中很可能包含了 Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID) 或类似方法的调用语句。即使该调用被包裹在 if (userAgreed) { ... } 的判断条件中,只要这段代码存在于提交的包体内,就可能被标记。

  2. HarmonyOS Next的合规要求:平台要求应用在用户同意隐私政策前,不能存在获取敏感信息的代码执行路径。更严格的做法是,在同意前,连加载包含该代码的类或模块都应避免。

排查与解决建议:

  • 代码级排查:全局搜索您的项目代码(包括所有第三方SDK、库、依赖模块),查找 Settings.Secure.getStringANDROID_IDandroid_id 等关键字。重点检查初始化较早的模块、工具类或基础组件。
  • 依赖库排查:某些第三方库(如广告、统计、推送SDK)可能会在初始化时获取Android ID。即使您控制了其初始化时机,但其库内部代码可能已被审核系统扫描到。需要检查所有第三方库的合规性,并考虑更新至已适配HarmonyOS Next的版本或联系提供商获取支持。
  • 延迟加载与模块化:将包含敏感信息获取的代码独立封装,并确保仅在用户明确授权后,才通过动态加载、条件初始化等方式触发该模块的类加载和执行。
  • 声明与解释:如果确认代码逻辑确实做到了“未授权不获取”,且敏感API调用被严格的条件语句保护,您可以在审核反馈中向平台详细说明您的权限控制逻辑和代码保护机制,并提供必要的代码片段(可脱敏)作为佐证。但最根本的解决方案是移除或隔离相关代码路径。

总结:问题根源在于代码结构中存在被判定为获取Android ID的API调用。请依据上述方向进行深度排查,重点是确保在用户同意前,任何包含获取Android ID代码的类都不会被加载和执行

回到顶部