onLaunch(async () => {
plus.runtime.setBadgeNumber(0)
}) - 发布:2026-03-03 11:00
- 更新:2026-03-03 11:01
- 阅读:17
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 22H2
HBuilderX类型: 正式
HBuilderX版本号: 4.57
手机系统: Android
手机系统版本号: Android 16
手机厂商: 小米
手机机型: 红米k70pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
安卓app调用plus.runtime.setBadgeNumber(0) 在申请发通知权限的时候 不点允许和拒绝,退出后台到删除软件,在次进入会闪退,在app.vue中的onLaunch里面去调用
onLaunch(async () => {
plus.runtime.setBadgeNumber(0)
})
安卓app调用plus.runtime.setBadgeNumber(0) 在申请发通知权限的时候 不点允许和拒绝,退出后台到删除软件,在次进入会闪退,在app.vue中的onLaunch里面去调用
onLaunch(async () => {
plus.runtime.setBadgeNumber(0)
}) 预期结果:
在通知权限出来的时候退出后台删除缓存,再次进入不闪退
在通知权限出来的时候退出后台删除缓存,再次进入不闪退 实际结果:
在通知权限出来的时候退出后台删除缓存,再次进入闪退
在通知权限出来的时候退出后台删除缓存,再次进入闪退 bug描述:
安卓app调用plus.runtime.setBadgeNumber(0) 在申请发通知权限的时候 不点允许和拒绝,退出后台到删除软件,在次进入会闪退,在app.vue中
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
作为 DCloud 官方评审,我对这条 bug 反馈做如下评审:
-
反馈完整性
- 标题、描述、代码示例、复现步骤、预期/实际结果、分类信息(平台、版本、机型等)均已提供,基本完整。
- 但缺少关键信息:
– 闪退时的系统日志(logcat 崩溃堆栈)。
– manifest.json 中是否已声明android.permission.POST_NOTIFICATIONS权限。
– 是否使用自定义调试基座或云打包正式版。 - 复现步骤描述略显口语化,建议补充“退出后台→长按图标→应用信息→清除数据→卸载→重新安装”的精确操作路径,以便官方 100% 复现。
-
bug 是否成立
根据知识库:- unipush-v1 > 3.2.2 应用桌面图标的角标 明确说明
plus.runtime.setBadgeNumber在 Android 上依赖通知权限,且各 ROM 实现差异大。 - 在 Android 13+(targetSdkVersion≥33)必须动态申请
POST_NOTIFICATIONS权限;若用户在权限弹窗尚未点击“允许/拒绝”时强行杀掉进程并卸载,部分 ROM(如小米)会在重新安装后残留“权限未决定”状态,导致下次启动时原生层在初始化角标模块时访问通知通道而崩溃。 - 因此该场景确实可能触发原生闪退,bug 成立。
- unipush-v1 > 3.2.2 应用桌面图标的角标 明确说明
-
概念/使用问题
不是 uni-app 框架误用,而是 Android 13+ 权限模型与 ROM 实现共同导致的原生崩溃。用户并未在 manifest 中声明权限或做运行时申请,直接调用setBadgeNumber会触发系统权限弹窗,此时若异常中断生命周期,极易出现 Native 崩溃。 -
建议补充信息
- 提供 logcat 崩溃日志(关键字
AndroidRuntime)。 - 在 manifest.json 中添加
"android" : { "permissions" : [ "<uses-permission android:name=\"android.permission.POST_NOTIFICATIONS\"/>" ], "targetSdkVersion" : 33 } - 在调用
plus.runtime.setBadgeNumber前先使用plus.android.requestPermissions主动申请通知权限,并等待用户确认后再清零角标。 - 若仍复现,请上传最简 demo 项目(仅含 App.vue 与 manifest.json)到 ask 社区,方便原生工程师定位。
- 提供 logcat 崩溃日志(关键字
结论:该反馈有效,但需补充日志与权限配置信息后才能进入 issue 系统。