首页 > 解决方案 > 更新 Android 应用程序图标中的应用程序启动器徽章计数

问题描述

目前,在我的应用程序中,我需要在应用程序图标中显示总 jsonArray 计数作为通知徽章计数,当我使用通知时显示计数,现在我需要从活动中以编程方式更新该计数值。

我使用了Shortcut Badger Library。该值以编程方式更新,直到 android 版本 Lollipop 但徽章未显示在 Lollipop 上方的设备中

public static void notificationBadgeCounter(Context context, int count)
{

    ShortcutBadger.applyCount(context, count);
    BagdeUtils.setBadgeCount(context,count);
}

另外,我尝试了以下代码,但此代码没有任何效果

public static void setBadgeCount(Context context, int count) {
    String launcherClassName = getLauncherName(context);
    if (launcherClassName == null) {
        return;
    }
    Intent intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
    intent.putExtra("badge_count", count);
    intent.putExtra("badge_count_package_name", context.getPackageName());
    intent.putExtra("badge_count_class_name", launcherClassName);
    context.sendBroadcast(intent);
}

public static String getLauncherName(Context context) {

    PackageManager pm = context.getPackageManager();

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
    for (ResolveInfo resolveInfo : resolveInfos) {
        String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
        if (pkgName.equalsIgnoreCase(context.getPackageName())) {
            String className = resolveInfo.activityInfo.name;
            return className;
        }
    }
    return null;
}

我尝试了 StackOverflow 中提供的许多链接和解决方案,但没有一个有效。任何人都可以关联一些解决方案或任何类型的库吗?任何形式的帮助都是值得赞赏的。

谢谢 !!

标签: android

解决方案


推荐阅读