HarmonyOS鸿蒙Next角标设置无效,哪里做错了?

HarmonyOS鸿蒙Next角标设置无效,是哪里做错了吗?请教 手机类型:nonor 9x
手机型号:HLK-AL00
鸿蒙版本:2.0.0
桌面:huawei.android.launcher
应用名称:九富通
应用ID:102789429
包名:com.everbloom

我们已经按照华为官方文档内容,集成了华为角标功能,但是调用角标方法设置无效,代码如下:

<!-- 华为角标-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.vivo.notification.permission.BADGE_ICON" />
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<!-- 兼容荣耀手机 -->
<uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE" />

设置代码

public void executeBadge(int badgeCount) {
    final Bundle localBundle = new Bundle();
    localBundle.putString("package", BJEBloomBadgeStatic.applicationContext().getPackageName());
    localBundle.putString("class", componentName.getClassName());
    localBundle.putInt("badgenumber", badgeCount);
    BJEBloomBadgeStatic.runOnUIThread(() -> {
        try {
            BJEBloomBadgeStatic.applicationContext().getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, localBundle);
        } catch (Exception e) {
            
        }
    });
}

哪里还需要设置?

5 回复

开发者您好

建议您把class的值打印出来,确定是不是应用入口Activity类全路径。

更多关于HarmonyOS鸿蒙Next角标设置无效,哪里做错了?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


Bundle[{package=com.everbloom, badgenumber=2, class=com.everbloom.MainActivity}] 这个是带引出来的值,看着也没问题吧,

找到原因了,是我的BJEBloomBadgeStatic.runOnUIThread方法封装的问题,谢谢,

感谢您的反馈,如后期有疑问可以随时发帖,感谢您的支持。

在HarmonyOS鸿蒙Next系统中,如果华为角标设置无效,可能的原因包括:

  1. 应用权限未开启:确保已为应用开启通知权限,路径为:设置 > 应用 > 应用管理 > 选择应用 > 通知管理 > 允许通知。

  2. 角标设置未启用:检查是否在桌面设置中启用了角标显示,路径为:设置 > 桌面和壁纸 > 桌面设置 > 角标显示 > 开启。

  3. 应用版本问题:确保应用为最新版本,旧版本可能不支持角标功能。

  4. 系统更新:确认系统已更新至最新版本,旧版本可能存在角标显示问题。

  5. 应用兼容性:某些应用可能不完全兼容HarmonyOS,导致角标显示异常。

检查以上设置,通常可以解决角标显示无效的问题。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!