当前,在我的应用程序中,我需要在应用程序图标中将总JSONArray计数显示为通知标志计数,当我使用Notification时显示该计数,现在我需要通过编程方式从活动中更新该计数值。 / p>
我用过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中可用的链接和解决方案,但没有一个起作用。谁能提供一些解决方案或任何种类的图书馆? 任何形式的帮助都将是可贵的。
谢谢!!