Ab Android 8.0 (API-Level 26) werden Benachrichtigungskennzeichen, App-Benachrichtigungspunkte erscheinen auf einem Launcher-Symbol, wenn die verknüpfte App aktive Benachrichtigung. Nutzer können Touch- & App-Symbol gedrückt halten, um die Benachrichtigungen sowie eventuelle App-Verknüpfungen, wie in Abbildung 1.
Diese Punkte erscheinen standardmäßig in Launcher-Apps, die sie unterstützen. nichts weiter tun muss. Es kann jedoch Situationen geben, in denen Sie der App-Benachrichtigungspunkt nicht angezeigt werden soll oder welche Benachrichtigungen dort erscheinen.
Abbildung 1: Benachrichtigungskennzeichen und die Menü „Gedrückt halten“.
Kennzeichen deaktivieren
Es gibt Fälle, in denen Kennzeichen für Ihre Benachrichtigungen nicht sinnvoll sind, sodass Sie
können sie für einzelne Kanäle deaktivieren. Rufen Sie dazu
setShowBadge(false)
auf deinem NotificationChannel
-Objekt enthält.
Beispielsweise können Sie Benachrichtigungskennzeichen in den folgenden Bereichen deaktivieren: Situationen:
- Laufende Benachrichtigungen: Die meisten fortlaufenden Benachrichtigungen, z. B. zur Bildverarbeitung, die Steuerung der Medienwiedergabe oder die aktuellen Navigationsanweisungen als Badge.
- Kalendererinnerungen: Vermeiden Sie mit Kennzeichen versehene Termine, die zur aktuellen Uhrzeit stattfinden.
- Uhr- oder Weckerereignisse: Vermeiden Sie Kennzeichenbenachrichtigungen im Zusammenhang mit aktuellen Weckern.
Der folgende Beispielcode zeigt, wie Badges für eines Benachrichtigungskanals:
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);
Benutzerdefinierte Benachrichtigungsanzahl festlegen
Standardmäßig erhöht sich bei jeder Benachrichtigung eine Zahl, die auf dem Touchscreen und Hold wie in Abbildung 1 gezeigt, aber Sie können diese Zahl für Ihre App überschreiben. Dies kann beispielsweise nützlich sein, wenn Sie nur eine Benachrichtigung mehrere neue Nachrichten darstellen, wobei die Anzahl die Gesamtzahl der neuen Nachrichten
Zum Festlegen einer benutzerdefinierten Nummer wählen Sie
setNumber()
in die Benachrichtigung ein, wie hier gezeigt:
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();
Touch- und Bedienelemente einer Benachrichtigung ändern Symbol „Menü halten“
Die Touch- und zeigt das große oder kleine Symbol eines
Benachrichtigung erhalten, falls verfügbar. Standardmäßig zeigt das System das große Symbol an, aber
kannst du anrufen
Notification.Builder.setBadgeIconType()
und übergeben Sie die BADGE_ICON_SMALL
konstant, um das kleine Symbol anzuzeigen.
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();
Doppelte Verknüpfungen ausblenden
Wenn Ihre App eine Benachrichtigung erstellt, die besagt, dass eine App-Verknüpfung dupliziert wurde, haben Sie folgende Möglichkeiten:
Sie können die Verknüpfung vorübergehend ausblenden, während die Benachrichtigung aktiv ist. Rufen Sie dazu
setShortcutId()
Weiteren Beispielcode, der Benachrichtigungen verwendet, finden Sie unter Personen-Beispiel.