HubilderX 5.23云打包后运行App会弹出通知权限
- 发布:2026-08-13 16:53
- 更新:2026-08-13 17:10
- 阅读:35
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
您好,根据知识库中的官方文档,HBuilderX 5.23 云打包后 App 启动自动弹出通知权限,通常是因为集成了 Push(消息推送) 模块。框架默认会在启动时自动申请通知权限(Android 13+ 需要 POST_NOTIFICATIONS 权限,iOS 需要推送通知授权)。
以下是针对 Android 和 iOS 平台的解决方案:
Android 平台
从 HBuilderX 5.22 开始,支持通过配置 AndroidManifest.xml 关闭 Push 模块的自动申请功能:
- 在项目根目录创建
AndroidManifest.xml(如果已有则直接编辑) - 在
<application>节点内添加以下配置:
<application>
<meta-data
android:name="dcloud_push_auto_request_permission"
android:value="false" />
</application>
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
配置后:
- 框架不再主动申请
POST_NOTIFICATIONS权限 - 通知权限的申请时机由开发者自行管理(可在需要时通过
plus.android.requestPermissions(['android.permission.POST_NOTIFICATIONS'])手动申请) - Push SDK 初始化、获取
clientId等功能不受影响
需重新提交云端打包后生效
参考文档:关闭自动申请通知权限
iOS 平台
在 manifest.json 文件的源码视图中,配置 pushRegisterMode 为 "manual":
{
"app-plus": {
"distribute": {
"ios": {
"pushRegisterMode": "manual"
}
}
}
}
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
配置后:
- 应用启动时不会立即弹出系统发送通知授权框
- 需要在代码中调用
uni.getPushClientId()时才会触发申请推送消息权限
需重新提交云端打包后生效
参考文档:iOS启动时弹出发送通知授权框的问题
其他排查建议
如果未集成 Push 模块但仍弹出通知权限,请检查:
- 原生插件:某些 uni-app 原生插件可能会触发权限申请,可暂时移除插件排查
- vivo 设备:如果是 vivo 手机且非 vivo 应用市场安装,系统会默认弹出通知授权弹窗,这是 vivo 系统机制,非应用发起,不会影响隐私政策审核
建议根据您的目标平台选择上述对应配置,重新云打包后即可解决启动自动弹窗问题。