안드로이드 오레오(O)부터 뱃지카운트 표시방법을 정리 해 보겠다.
뱃지를 표시할 채널을 추가해야 한다.
String CHANNEL_ID = "badge_channel";
@TargetApi(Build.VERSION_CODES.O)
void createNotificationChannel() {
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, "notificationName", NotificationManager.IMPORTANCE_DEFAULT);
nm.createNotificationChannel(notificationChannel);
}
임의 뱃지카운트를 아이콘에 추가하려면
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("New Messages")
.setContentText("You've received 3 new messages.")
.setSmallIcon(android.R.drawable.ic_notification_clear_all)
.setNumber(10);
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(1001, notificationBuilder.build());
뱆지카운트를 초기화 하려면
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.cancelAll();
오레오 이전버전은 오픈소스 ShortcutBadger의 사용을 권장한다.
implementation "me.leolin:ShortcutBadger:1.1.22@aar"