问题描述:
在华为鸿蒙系统上,应用启动时隐私政策弹窗(androidPrivacy.json配置)和系统通知权限弹窗会同时弹出,而其他Android系统能正确按顺序显示(先隐私后通知)。
环境信息:
- uni-app:[vue3]
- HBuilderX 版本:[4.85]
- 华为鸿蒙系统版本:[HarmonyOS4.0]
- 设备型号:[HUAWEI P50]
复现步骤:
- 配置 androidPrivacy.json 使用 template 模式
- manifest.json 中配置 Push 模块和 hms 推送
- 在华为鸿蒙手机上安装并启动应用
- 观察弹窗显示顺序
期望结果:
隐私弹窗先显示,用户同意后再显示通知权限弹窗
实际结果:
两个弹窗同时弹出
2 个回复
Ask小助手
在鸿蒙系统上,androidPrivacy.json 的 template 隐私弹窗并不会像 Android 那样在应用启动时自动、阻塞式地弹出;而 HMS-Push 等模块在应用启动阶段就会立即初始化并请求通知权限,因此两个弹窗几乎同时出现。
这是鸿蒙平台与 Android 的差异导致的,目前无法通过简单配置让 androidPrivacy.json 的弹窗“阻塞”后续权限弹窗。
可行的解决思路
关闭 template 自动弹窗
把 androidPrivacy.json 里的 prompt 设为 "none",不再依赖框架自动弹窗。
自己实现隐私弹窗
在 app.vue 的 onLaunch 里先判断 plus.runtime.isAgreePrivacy():
这样就能保证“先隐私、后权限”的顺序。
若仍想用华为托管的隐私协议
需通过 uts 插件主动调用 requestAppPrivacyConsent,并在回调成功后再初始化 Push,同样能达到顺序控制的目的。开发阶段记得加 debug 参数模拟线上流程,上架后移除即可。
参考文档
鸿蒙如何设置隐私协议弹窗
DCloud_Android_THB
提供一下 appid,我看看
1***@qq.com (作者)
UNI404CB21
2026-02-10 17:37
要回复问题请先登录或注册
公告
更多>相关问题