我设置“0”表示其显示徽章计数为“1”。如何清除我的旧徽章计数。
//徽章计数设置方法
public static void setBadge(Context mContext, int count) {
String launcherClassName = getLauncherClassName(mContext);
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", mContext.getPackageName());
intent.putExtra("badge_count_class_name", launcherClassName);
mContext.sendBroadcast(intent);
}
//找出我们的app,这里返回app包名。
public static String getLauncherClassName(Context mContext) {
PackageManager pm = mContext.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(mContext.getPackageName())) {
String className = resolveInfo.activityInfo.name;
return className;
}
}
return null;
}
如果使用https://github.com/leolin310148/ShortcutBadger https://github.com/leolin310148/ShortcutBadger通过调用库方法如下:
ShortcutBadger.applyCount(Context context, int badgeCount)
//or
ShortcutBadger.removeCount(Context context)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)