开启了unipush模块
- 发布:2025-12-20 10:31
- 更新:2025-12-22 09:15
- 阅读:181
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 暂无
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 14
手机厂商: 小米
手机机型: 小米全系列
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
点击空白通知权限弹框再次打开不会弹出来
点击空白通知权限弹框再次打开不会弹出来
实际结果:
点击空白通知弹框关闭了,杀掉app重启还会弹出来
点击空白通知弹框关闭了,杀掉app重启还会弹出来
bug描述:
接入了unipush模块app一启动就会弹出通知授权弹框,然后小米手机点击空白区域会关闭通知授权弹框,然后把app杀掉重新启动还是会再次弹起来该如何解决呢
该bug反馈内容不完整:缺少关键代码示例(如manifest.json配置)和详细复现步骤(如何集成unipush模块),仅说明"开启了unipush模块"不足以复现问题。预期结果不合理——Android系统级通知权限弹窗无法永久关闭,这是系统安全机制(尤其小米等定制ROM会在应用重启后再次请求),非产品缺陷。实际结果属正常行为:用户拒绝/忽略弹窗后,系统会在下次启动时重新触发权限请求。
经核查知识库,uniapp支持通过配置pushRegisterMode为"manual"延迟请求权限(非永久关闭)。需在manifest.json的app-plus.distribute.android中添加:
"pushRegisterMode": "manual"
随后在业务逻辑中调用uni.getPushClientId主动触发权限申请。此方案符合Android设计规范,可避免启动时强制弹窗导致审核失败。
建议补充manifest.json配置片段并确认是否已尝试手动模式。当前HBuilderX 4.87版本支持该配置,无需升级。小米设备需额外注意:部分机型需在系统设置中彻底关闭通知权限才能避免弹窗,但无法通过代码完全绕过系统机制。
如果你使用了unipush,就需要配置隐私弹框说明需要请求,否则你就要配置pushRegisterMode,在启动时不初始化。
-
-
-
-
-
-
9***@qq.com (作者)
回复 DCloud_Android_THB: 你好,想请问一下现在hBuilderX使用的是4.87版本然后配置了pushRegisterMode:manual,然后把uni.getPushClientId放在登录页的onLoad里面执行之前打包进入登录页面会弹出通知授权框但是现在云打包打出来的包和基座进入登录页面不弹通知授权框了是怎么回事呀,跟编辑器版本有关吗?
2026-01-11 10:24