아래와 같은 코드로 간단히 앱에 뱃지를 표현할 수 있다.
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으로 만드는 작업도 필요하겠지.
'Programming' 카테고리의 다른 글
HTML5+CSS3 - lang 속성 (0) | 2016.09.03 |
---|---|
HTML5+CSS3 - html 문서 내의 특수기호 (0) | 2016.09.03 |
Android - 액티비티 방향 고정 (0) | 2016.09.03 |
Android - 리스트뷰 클릭시 색상 변경시 엉뚱한 곳 변하는 현상 (0) | 2016.09.03 |
Android - Notification 사용시 intent 값이 바뀌지 않을 때 (0) | 2016.09.03 |