Android2022. 3. 9. 19:03

 

안드로이드 오레오(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"

 

Posted by 삼스