修改通知標記

自 Android 8.0 (API 級別 26) 起,通知標記 (也稱為 通知圓點 - 相關應用程式有 主動通知。使用者可以 觸控和按住應用程式圖示,即可查看通知以及任何通知和 應用程式捷徑,如 圖 1.

根據預設,這些圓點會顯示在支援這些圓點的啟動器應用程式中, 不必採取任何行動不過,有些情況下 不要顯示通知圓點或你想要完全掌控 哪些通知會顯示出來

圖 1. 通知標記,以及輕觸和按住選單。

停用徽章

在某些情況下,徽章並不合理。因此, 可以呼叫 setShowBadge(false)敬上 這個鬧鐘是設定在你的 NotificationChannel 上 物件。

舉例來說,您可能會想停用下列內容的通知標記 情境:

  • 持續性通知:大多數持續性通知,例如圖片處理、 媒體播放控制項或目前的導航指示,這些都沒有意義 以徽章的形式呈現
  • 日曆提醒:避免標示目前時間的活動。
  • 時鐘或鬧鐘事件:避免與目前鬧鐘相關的徽章通知。

以下程式碼範例示範如何隱藏徽章 通知管道:

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)

Java

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()

Java

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()

Java

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()

如需更多使用通知的程式碼範例,請參閱 People 範例