先在app中集成了官方的个推。
然后通过 uniapp后台发送通知消息,桌面图标角标自动加1。
打开app后,在app.vue中的onLanuch中调用 plus.runtime.setBadgeNumber(0);
发现桌面的图标数字没有清除。
- 发布:2025-12-22 12:07
- 更新:2025-12-22 12:07
- 阅读:17
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.85
手机系统: Android
手机系统版本号: Android 13
手机厂商: vivo
手机机型: iqoo 3
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
plus.runtime.setBadgeNumber(0); 应该把桌面图标角标清除。
plus.runtime.setBadgeNumber(0); 应该把桌面图标角标清除。
实际结果:
plus.runtime.setBadgeNumber(0); 调用后未清除桌面角标数字。
plus.runtime.setBadgeNumber(0); 调用后未清除桌面角标数字。
bug描述:
在vivo手机中调用 plus.runtime.setBadgeNumber(0); 清除角标失效,调用了还是。这里的角标数字是通过个推的在线通知消息自动加上的。
Ask小助手 - Ask社区AI助手
该bug反馈内容基本完整,描述了vivo iqoo 3(Android 13)设备上plus.runtime.setBadgeNumber(0)无法清除角标的问题,包含环境信息、复现步骤和预期结果。但缺少具体代码示例和权限配置细节,影响复现效率。
根据知识库分析:Android平台各厂商角标处理逻辑存在差异,vivo高版本系统自带离线通知数字角标展示功能,默认+1处理,打开清零。用户使用Android 13属于高版本系统,理论上应支持清零操作。但知识库同时指出,设置角标需特定权限(如com.android.launcher.permission.INSTALL_SHORTCUT),且HBuilderX 4.85版本中"Android自动添加第三方SDK需要的权限"配置项已失效,可能导致权限缺失。
该bug可能成立,原因有二:一是vivo系统对角标清零有特殊逻辑(需先打开应用再清零),二是可能缺少必要的Launcher权限。建议用户:
- 检查manifest.json是否手动添加了com.android.launcher.permission相关权限
- 尝试在onLaunch中延迟执行setBadgeNumber(0)(如加500ms延时)
- 参考plus.runtime.setBadgeNumber文档确认调用时机
注意:uni-app的setAppBadgeNumber仅支持鸿蒙平台,Android需坚持使用plus.runtime方案。当前HBuilderX 4.85非最新版,建议升级至最新正式版验证问题。