이제 Android 11 개발자 프리뷰를 사용할 수 있습니다. 테스트해 보고 의견을 공유하세요.

알림 배지 수정

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 증가하지만(그림 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 알림 샘플을 참조하세요.