8.0(API 수준 26)부터 연결된 앱에 활성 알림이 있는 경우 런처 아이콘에 알림 배지(알림 표시 점이라고도 함)가 표시됩니다. 사용자는 그림 1과 같이 앱 아이콘을 길게 눌러 앱 바로가기와 함께 알림을 표시할 수 있습니다.
이러한 점은 기본적으로 알림 표시 점을 지원하는 런처 앱에 표시되며 앱에서 처리할 작업은 없습니다. 하지만, 알림 표시 점을 표시하지 않거나 표시되는 알림을 정확히 제어하고 싶은 경우도 있습니다.
그림 1. 알림 배지 및 길게 누르기 메뉴
배지 사용 중지
배지가 알림에 적합하지 않은 경우 NotificationChannel
객체에서 setShowBadge(false)
를 호출하여 채널별로 알림을 사용 중지할 수 있습니다.
예를 들어, 다음과 같은 경우 알림 배지를 사용 중지할 수 있습니다.
- 지속적인 알림: 이미지 처리, 미디어 재생 컨트롤, 현재 탐색 안내 등 대부분의 지속적인 알림에서는 배지가 무의미합니다.
- 캘린더 알림: 현재 발생한 이벤트에는 배지를 사용하지 마세요.
- 시계 또는 경보 이벤트: 현재 경보와 관련된 알림에는 배지를 사용하지 마세요.
다음 샘플 코드는 알림 채널의 배지를 숨기는 방법을 보여줍니다.
Kotlin
val id = "my_channel_01" val name = getString(R.string.channel_name) val descriptionText = getString(R.string.channel_description) val importance = NotificationManager.IMPORTANCE_LOW val mChannel = NotificationChannel(id, name, importance).apply { description = descriptionText setShowBadge(false) } val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(mChannel)
자바
String id = "my_channel_01"; CharSequence name = getString(R.string.channel_name); String description = getString(R.string.channel_description); int importance = NotificationManager.IMPORTANCE_LOW; NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); mChannel.setShowBadge(false); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(mChannel);
맞춤 알림 수 설정
기본적으로 각 알림의 길게 누르기 메뉴에 표시되는 숫자는 증가하지만(그림 1 참조), 앱에서 이 숫자를 재정의할 수 있습니다. 예를 들어, 하나의 알림만 사용하여 여러 개의 새 메시지를 표시하지만, 여기에는 총 새 메시지 수를 나타내려는 경우에 유용할 수 있습니다.
맞춤 개수를 설정하려면 다음과 같이 알림에서 setNumber()
를 호출합니다.
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build()
자바
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build();
알림의 길게 누르기 메뉴 아이콘 수정
길게 누르기 메뉴에는 알림에 연결된 큰 아이콘 또는 작은 아이콘이 표시됩니다(사용 가능한 경우). 기본적으로, 시스템에는 큰 아이콘이 표시되지만, Notification.Builder.setBadgeIconType()
을 호출하고 BADGE_ICON_SMALL
상수를 전달하여 작은 아이콘을 표시할 수도 있습니다.
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build()
자바
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build();
중복 바로가기 숨기기
앱에서 앱 바로가기를 복제하는 알림을 만드는 경우 setShortcutId()
를 호출하여 알림이 활성화되어 있는 동안 바로가기를 일시적으로 숨길 수 있습니다.
알림을 사용하는 추가 샘플 코드는 Android 알림 샘플을 참조하세요.