본문 바로가기

Programming

Android - 앱에 뱃지 표시하기 (숫자 카운트)

아래와 같은 코드로 간단히 앱에 뱃지를 표현할 수 있다.


Intent badgeIntent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
badgeIntent.putExtra("badge_count", badgeCount);
badgeIntent.putExtra("badge_count_package_name", getComponentName().getPackageName());
badgeIntent.putExtra("badge_count_class_name", getComponentName().getClassName());
sendBroadcast(badgeIntent);


보통 수신한 푸시의 개수를 표시할테니, 뱃지에 표시할 숫자는 앱이 꺼져도 유효하게끔 SharedPreferences에 저장해두는게 좋을 듯 하다.


SharedPreferences pref = getSharedPreferences(ValueDefine.PREFERENCE_NAME, 0);
int badgeCount = pref.getInt("badgeCount", 0);
SharedPreferences.Editor editor = pref.edit();
editor.putInt("badgeCount", badgeCount+1);
editor.commit();
badgeCount = pref.getInt("badgeCount", 0);


앱을 실행하면 SharedPreference의 badgeCount를 0으로 만드는 작업도 필요하겠지.