내 앱의 뱃지 알림의 갯수를 런쳐쪽에 전달을 해주어야 런쳐에서 내 앱의 뱃지 갯수를 그려준다. 그래서 다음과 같이 앱에서 설정해 주어야 한다.
public static String getLauncherClassName() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
PackageManager pm = AmandaApp.getAppContext().getPackageManager();
List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
for (ResolveInfo resolveInfo : resolveInfos) {
String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
if (pkgName.equalsIgnoreCase(getPackageName())) {
return resolveInfo.activityInfo.name;
}
}
return null;
}
String launcherClassName = getLauncherClassName();
if (launcherClassName == null) {
return;
}
Intent response = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
response.putExtra("badge_count", launcherCount);
response.putExtra("badge_count_package_name", getPackageName());// 내 앱의 패키지명
response.putExtra("badge_count_class_name", launcherClassName);// 런쳐의 클래스명
AmandaApp.getAppContext().sendBroadcast(response);
No comments:
Post a Comment