Created
January 21, 2018 00:07
-
-
Save valterh4ck3r/6bb2cfc9e8ef6cebc40aea53cf27dfe6 to your computer and use it in GitHub Desktop.
Badge Notification
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static void setBadge(Context context, int count) { | |
String launcherClassName = getLauncherClassName(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 void clearBardge(Context context){ | |
String launcherClassName = getLauncherClassName(context); | |
if (launcherClassName == null) { | |
return; | |
} | |
Intent intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE"); | |
intent.putExtra("badge_count", 0); | |
intent.putExtra("badge_count_package_name", context.getPackageName()); | |
intent.putExtra("badge_count_class_name", launcherClassName); | |
context.sendBroadcast(intent); | |
} | |
public static String getLauncherClassName(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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment