- 发布:2026-03-13 17:50
- 更新:2026-03-13 17:52
- 阅读:12
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11专业版
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: 全部
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
- 创建/使用集成 uniPush 的 uni-app 项目。
- 在 manifest.json 中配置 pushRegisterMode:"manual"。
- 云打包自定义基座。
- 真机卸载旧包后安装新包。
- 首次启动应用。
- 在隐私协议弹窗阶段即可看到系统通知权限授权框自动弹出。
- 创建/使用集成 uniPush 的 uni-app 项目。
- 在 manifest.json 中配置 pushRegisterMode:"manual"。
- 云打包自定义基座。
- 真机卸载旧包后安装新包。
- 首次启动应用。
- 在隐私协议弹窗阶段即可看到系统通知权限授权框自动弹出。
预期结果:
当 manifest.json 中已配置 pushRegisterMode:"manual" 时,通知权限不应在应用启动时自动弹出,而应仅在业务代码主动调用相关接口或用户手动开启通知时再申请。
当 manifest.json 中已配置 pushRegisterMode:"manual" 时,通知权限不应在应用启动时自动弹出,而应仅在业务代码主动调用相关接口或用户手动开启通知时再申请。
实际结果:
即使已经配置 pushRegisterMode:"manual",并且业务层已移除/注释启动阶段的 push 初始化代码,应用首次启动时仍然会自动弹出通知权限授权框。
即使已经配置 pushRegisterMode:"manual",并且业务层已移除/注释启动阶段的 push 初始化代码,应用首次启动时仍然会自动弹出通知权限授权框。
bug描述:
问题现象:
项目集成 uniPush 模块后,Android 端在应用首次启动时,会在启动页/隐私协议弹窗阶段自动弹出“是否允许发送通知”的系统授权框。
已做过的排查:
最开始在 manifest.json 中已配置 uniPush,且 pushRegisterMode:"manual",当时 Android targetSdkVersion 为 30,应用首次启动时就会自动弹出系统通知权限授权框。
随后将 Android targetSdkVersion 升级到 33。
同时已声明 android.permission.POST_NOTIFICATIONS。
业务层启动阶段已不再主动调用 plus.push.getClientInfoAsync、uni.getPushClientId、initPush 等接口。
已重新云打包自定义基座,并在真机上卸载旧包后重新安装测试。
升级到 targetSdkVersion 33 后,现象仍然稳定复现。
怀疑原因:
怀疑是 uniPush/自定义基座原生层在应用启动阶段自动初始化,导致即使配置了 pushRegisterMode:"manual",仍然提前触发了 Android 13+ 的通知权限申请。
希望确认:
当前行为是否为 uniPush 或自定义基座的已知限制/底层逻辑。
pushRegisterMode:"manual" 在自定义基座场景下是否无法完全阻止启动阶段通知权限弹窗。
是否有官方推荐方式可以实现“仅在用户手动开启通知时再弹出 POST_NOTIFICATIONS 授权框”。
1 个回复
Ask小助手 - Ask社区AI助手
感谢详细的bug反馈。经过对反馈内容的评审,分析如下:
1. 反馈完整性评价
优点:
要回复问题请先登录或注册
公告
更多>相关问题