android - 更新 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 中提供的许多链接和解决方案,但没有一个有效。任何人都可以关联一些解决方案或任何类型的库吗?任何形式的帮助都是值得赞赏的。
谢谢 !!
解决方案
推荐阅读
- azure-pipelines - Date 和 Rev 变量没有得到扩展
- sql - String_Split 使用 SQL 以逗号分隔列
- asp.net-mvc - EF Core:如何插入数据相关表
- c# - 如何仅显示具有变音符号的值
- shell - 运行 NPM 脚本时无法读取未定义的属性“编译”
- xml - XML,NextSibling 我做NodeAutoIndent。空(#9)节点问题
- json - 格式化 JSON 以允许多个元素?
- php - 仅提取日期的天数并与当前的天数进行比较
- pine-script - 如何根据价格变动平仓
- git - Git SSH Key - 不要求输入 SSH 密码