Eine Benachrichtigung ist eine Meldung, die Android außerhalb der Benutzeroberfläche Ihrer App anzeigt. Darin zu finden sind Erinnerungen, Nachrichten von anderen Personen oder andere aktuelle Informationen aus Ihrer App. Nutzer können auf die Benachrichtigung tippen, um Ihre App zu öffnen, oder direkt über die Benachrichtigung eine Aktion durchführen.
Auf dieser Seite finden Sie eine Übersicht dazu, wo Benachrichtigungen angezeigt werden und welche Funktionen verfügbar sind. Wenn du Benachrichtigungen erstellen möchtest, lies stattdessen Benachrichtigung erstellen.
Weitere Informationen zum Design und zu Interaktionsmustern von Benachrichtigungen finden Sie im Leitfaden zur Gestaltung von Benachrichtigungen.
Darstellung auf einem Gerät
Benachrichtigungen werden Nutzern an verschiedenen Standorten und in unterschiedlichen Formaten automatisch angezeigt. Eine Benachrichtigung wird als Symbol in der Statusleiste, als etwas detaillierterer Eintrag in der Benachrichtigungsleiste und als Kennzeichen auf dem App-Symbol angezeigt. Benachrichtigungen werden auch auf gekoppelten Wearables angezeigt.
Status- und Benachrichtigungsleiste
Wenn Sie eine Benachrichtigung senden, wird sie zuerst als Symbol in der Statusleiste angezeigt.
Nutzer können auf der Statusleiste nach unten wischen, um die Benachrichtigungsleiste zu öffnen, wo sie weitere Details sehen und Aktionen mit der Benachrichtigung ausführen können.
Nutzer können in den Benachrichtigungen auf der Leiste nach unten wischen, um sich eine maximierte Ansicht anzusehen, in der zusätzlicher Inhalt und eventuell Aktionsschaltflächen verfügbar sind. Ab Android 13 enthält diese erweiterte Ansicht eine Schaltfläche, über die Nutzer eine App beenden können, die Dienste im Vordergrund ausführt.
Eine Benachrichtigung bleibt in der Benachrichtigungsleiste sichtbar, bis sie von der App oder dem Nutzer geschlossen wird.
Vorabbenachrichtigung
Ab Android 5.0 können Benachrichtigungen kurz in einem unverankerten Fenster angezeigt werden. Diese werden Vorabbenachrichtigungen genannt. Sie werden normalerweise für wichtige Benachrichtigungen angezeigt, über die der Nutzer sofort informiert werden sollte, und nur dann, wenn das Gerät entsperrt ist.
Die Vorabbenachrichtigung wird angezeigt, wenn Ihre App die Benachrichtigung ausgibt. Sie verschwindet nach einigen Sekunden wieder, bleibt aber wie gewohnt in der Benachrichtigungsleiste sichtbar.
Folgende Bedingungen können Vorabbenachrichtigungen auslösen:
Der Nutzer ist im Vollbildmodus aktiv, z. B. wenn die App
fullScreenIntent
verwendet.Die Benachrichtigung hat eine hohe Priorität und löst Klingeltöne oder Vibrationen auf Geräten mit Android 7.1 (API-Ebene 25) und niedriger aus.
Der Benachrichtigungskanal hat auf Geräten mit Android 8.0 (API-Ebene 26) und höher eine große Wichtigkeit.
Display sperren
Ab Android 5.0 können Benachrichtigungen auf dem Sperrbildschirm angezeigt werden.
Sie können programmatisch festlegen, ob Benachrichtigungen, die von Ihrer App gepostet werden, auf einem sicheren Sperrbildschirm angezeigt werden sollen, und falls ja, welche Detailstufe sichtbar sein soll.
Die Detailstufe, mit der Benachrichtigungen auf dem Sperrbildschirm angezeigt werden, lässt sich über die Systemeinstellungen konfigurieren. Dort ist auch die Option verfügbar, mit der alle Benachrichtigungen auf dem Sperrbildschirm deaktiviert werden können. Ab Android 8.0 können Nutzer Benachrichtigungen auf dem Sperrbildschirm für jeden Benachrichtigungskanal deaktivieren oder aktivieren.
Weitere Informationen findest du unter Sichtbarkeit des Sperrbildschirms festlegen.
Kennzeichen auf App-Symbolen
Auf Geräten mit Android 8.0 (API-Ebene 26) und höher werden in unterstützten Launchern farbige Kennzeichen (auch als App-Benachrichtigungspunkte bezeichnet) auf den jeweiligen App-Symbolen angezeigt, wenn neue Benachrichtigungen verfügbar sind.
Nutzer können ein App-Symbol gedrückt halten, um sich die Benachrichtigungen für diese App anzeigen zu lassen. Dann haben sie die Möglichkeit, sie zu schließen oder in diesem Menü eine Aktion dafür durchzuführen, ähnlich wie auf der Benachrichtigungsleiste.
Weitere Informationen zur Funktionsweise von Kennzeichen findest du unter Benachrichtigungskennzeichen ändern.
Wear OS-Geräte
Wenn der Nutzer ein Wear OS-Gerät hat, werden dort automatisch alle deine Benachrichtigungen angezeigt, einschließlich maximierbarer Details und Aktionsschaltflächen.
Sie können den Komfort verbessern, indem Sie das Aussehen Ihrer Benachrichtigungen auf Wearables anpassen und verschiedene mögliche Aktionen anbieten, einschließlich vorgeschlagener Antworten und Antworten per Spracheingabe. Weitere Informationen dazu, wie du deinen Benachrichtigungen Funktionen hinzufügst, die auf bestimmte Wearables abgestimmt sind, findest du hier.
Benachrichtigungsaufbau
Das Design einer Benachrichtigung wird von Systemvorlagen vorgegeben. Deine App definiert einfach den Inhalt der einzelnen Vorlagenabschnitte. Einige Details der Benachrichtigung werden nur in der maximierten Ansicht angezeigt.
Die am häufigsten genutzten Bestandteile einer Benachrichtigung sind in Abbildung 7 so angegeben:
- Kleines Symbol: erforderlich; mit
setSmallIcon()
festlegen - App-Name: Wird vom System bereitgestellt.
- Zeitstempel: Wird vom System bereitgestellt. Sie können ihn mit
setWhen()
überschreiben oder mitsetShowWhen(false)
ausblenden. - Großes Symbol: Optional; wird normalerweise nur für Kontaktfotos verwendet.
Verwenden Sie es nicht für Ihr App-Symbol. Legen Sie dies mit
setLargeIcon()
fest. - Titel: Optional; mit
setContentTitle()
festlegen. - Text: Optional; wird mit
setContentText()
festgelegt.
Wir empfehlen dringend, Systemvorlagen zu verwenden, um die Kompatibilität des Designs auf allen Geräten zu gewährleisten. Bei Bedarf können Sie ein benutzerdefiniertes Benachrichtigungslayout erstellen.
Weitere Informationen zum Erstellen einer Benachrichtigung mit diesen und weiteren Funktionen findest du unter Benachrichtigung erstellen.
Benachrichtigungsaktionen
Obwohl dies nicht erforderlich ist, empfiehlt es sich, dass über jede Benachrichtigung eine entsprechende App-Aktivität geöffnet wird, wenn sie angetippt wird. Zusätzlich zu dieser Standardbenachrichtigungsaktion können Sie Aktionsschaltflächen hinzufügen, um dem Nutzer die Möglichkeit zu geben, eine auf die App bezogene Aufgabe über die Benachrichtigung auszuführen – oft ohne dabei eine Aktivität zu öffnen (siehe Abbildung 8).
Ab Android 7.0 (API-Ebene 24) können Sie eine Aktion hinzufügen, über die Nutzer direkt über die Benachrichtigung auf Nachrichten antworten oder anderen Text eingeben können.
Ab Android 10 (API-Level 29) kann die Plattform automatisch Aktionsschaltflächen mit Vorschlägen für absichtsbasierte Aktionen generieren.
Weitere Informationen zum Hinzufügen von Aktionsschaltflächen findest du unter Benachrichtigung erstellen.
Entsperretes Gerät erforderlich
Nutzer sehen möglicherweise Benachrichtigungsaktionen auf dem Sperrbildschirm des Geräts. Wenn eine Benachrichtigungsaktion dazu führt, dass eine App eine Aktivität startet oder eine direkte Antwort sendet, müssen Nutzer das Gerät entsperren, bevor die App diese Benachrichtigungsaktion ausführen kann.
Unter Android 12 (API-Level 31) und höher können Sie eine Benachrichtigungsaktion so konfigurieren, dass das Gerät entsperrt sein muss, damit Ihre App diese Aktion ausführen kann, unabhängig davon, welcher Workflow durch die Aktion gestartet wird. Diese Option erhöht die Sicherheit von Benachrichtigungen auf gesperrten Geräten.
Wenn ein Gerät entsperrt sein muss, bevor Ihre App eine bestimmte Benachrichtigungsaktion aufruft, geben Sie beim Erstellen der Benachrichtigungsaktion true
an setAuthenticationRequired()
weiter, wie im folgenden Code-Snippet gezeigt:
Kotlin
val moreSecureNotification = Notification.Action.Builder(...) // This notification always requests authentication when invoked // from a lock screen. .setAuthenticationRequired(true) .build()
Java
Notification moreSecureNotification = new Notification.Action.Builder(...) // This notification always requests authentication when invoked // from a lock screen. .setAuthenticationRequired(true) .build();
Maximierbare Benachrichtigung
Der Textinhalt einer Benachrichtigung wird standardmäßig auf eine Zeile gekürzt. Wenn du möchtest, dass mehr Text in deiner Benachrichtigung angezeigt wird, kannst du einen größeren, maximierbaren Textbereich aktivieren, indem du eine zusätzliche Vorlage anwendest (siehe Abbildung 9).
Sie haben auch die Möglichkeit, eine maximierbare Benachrichtigung mit einem Bild, einem Posteingangsstil, einem Chat oder Steuerelementen für die Medienwiedergabe zu erstellen. Weitere Informationen finden Sie unter Maximierbare Benachrichtigung erstellen.
Benachrichtigungsaktualisierungen und -gruppen
Damit Ihre Nutzer nicht zu viele oder doppelte Benachrichtigungen erhalten, wenn weitere Aktualisierungen verfügbar werden, haben Sie die Möglichkeit, vorhandene Benachrichtigungen zu aktualisieren, anstatt sie noch einmal zu senden, oder Benachrichtigungen im Posteingangsstil für neue Konversationen zu verwenden.
Wenn jedoch mehrere Benachrichtigungen gesendet werden müssen, ist es empfehlenswert, diese separaten Benachrichtigungen in einer Gruppe zusammenzufassen (verfügbar ab Android 7.0).
Mit einer Benachrichtigungsgruppe können Sie mehrere Benachrichtigungen in der Benachrichtigungsleiste zu einem Element zusammenführen – mit einer Zusammenfassung. Der Nutzer kann die Benachrichtigungsgruppe und die darin enthaltenen Benachrichtigungen schrittweise erweitern, um weitere Details zu erhalten (siehe Abbildung 10).
Informationen zum Hinzufügen von Benachrichtigungen zu einer Gruppe findest du unter Benachrichtigungsgruppe erstellen.
Benachrichtigungskanäle
Ab Android 8.0 (API-Ebene 26) müssen alle Benachrichtigungen einem Kanal zugewiesen werden, da sie sonst nicht angezeigt werden. So können Nutzer bestimmte Benachrichtigungskanäle für Ihre App deaktivieren, anstatt alle Benachrichtigungen zu deaktivieren. Nutzer können die visuellen und akustischen Optionen für jeden Kanal über die Android-Systemeinstellungen steuern, wie in Abbildung 11 dargestellt. Durch langes Drücken auf eine Benachrichtigung kann außerdem das Verhalten in zugehörigen Kanälen geändert werden.
Auf Geräten mit Android 7.1 (API-Ebene 25) und niedriger können Nutzer Benachrichtigungen nur je App verwalten. Unter Android 7.1 und niedriger hat jede App nur einen Kanal.
Eine App kann für jede Art von Benachrichtigung, die sie sendet, einen eigenen Kanal haben. Sie kann auch Benachrichtigungskanäle erstellen, wenn der Nutzer eine entsprechende Auswahl trifft. So können beispielsweise separate Benachrichtigungskanäle für jede Konversationsgruppe eingerichtet werden, die vom Nutzer in einer App zum Nachrichtenversand erstellt wird.
Im Kanal wird auch die Wichtigkeit deiner Benachrichtigungen unter Android 8.0 und höher festgelegt. Auf diese Weise zeigen alle Benachrichtigungen, die über denselben Benachrichtigungskanal gesendet werden, das gleiche Verhalten. Das wird im folgenden Abschnitt beschrieben.
Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Wichtigkeit von Benachrichtigungen
Android bestimmt anhand der Wichtigkeit einer Benachrichtigung, in welchem Ausmaß der Nutzer unterbrochen werden soll (visuell und akustisch). Je höher die Wichtigkeit einer Benachrichtigung, desto deutlicher fällt die Unterbrechung aus.
Unter Android 7.1 (API-Ebene 25) und niedriger wird die Wichtigkeit einer Benachrichtigung durch die priority
der Benachrichtigung bestimmt.
Unter Android 8.0 (API-Ebene 26) und höher wird die Wichtigkeit einer Benachrichtigung durch die importance
des Kanals bestimmt, über den die Benachrichtigung gesendet wurde. Nutzer können die Wichtigkeit eines Benachrichtigungskanals in den Systemeinstellungen ändern, wie in Abbildung 12 dargestellt.
Die möglichen Wichtigkeitsstufen und die zugehörigen Benachrichtigungsverhalten sind:
Dringend: akustisches Signal ertönt, Vorabbenachrichtigung wird angezeigt
Hoch: akustisches Signal ertönt
Mittel: kein akustisches Signal
Niedrig: Es ertönt kein Ton und die Benachrichtigung wird nicht in der Statusleiste angezeigt.
Alle Benachrichtigungen werden unabhängig von der Wichtigkeit an nicht störenden Stellen auf der Systembenutzeroberfläche angezeigt, z. B. auf der Benachrichtigungsleiste und als Kennzeichen auf dem Launcher-Symbol. Sie können jedoch das Aussehen des Benachrichtigungssymbols ändern.
Weitere Informationen dazu, wie du die Wichtigkeit festlegst, findest du hier.
Modus "Bitte nicht stören"
Ab Android 5.0 (API-Ebene 21) können Nutzer den Bitte nicht stören-Modus aktivieren, der Ton und Vibration für alle Benachrichtigungen unterdrückt. Benachrichtigungen werden weiterhin wie gewohnt in der System-UI angezeigt, sofern der Nutzer nichts anderes festlegt.
Im Modus „Bitte nicht stören“ stehen drei Stufen zur Verfügung:
- Lautlos: Akustische Signale und Vibrationen werden blockiert, einschließlich Wecker, Musik, Videos und Spielen.
- Nur Wecker: Akustische Signale und Vibrationen werden blockiert, mit Ausnahme von Weckern.
- Nur wichtige Unterbrechungen: Nutzer können einstellen, durch welche systemweiten Kategorien sie unterbrochen werden möchten (z. B. nur Wecker, Erinnerungen, Termine, Anrufe oder Nachrichten). Bei Nachrichten und Anrufen können Nutzer nach Absender oder Anrufer filtern, wie in Abbildung 13 gezeigt.
Unter Android 8.0 (API-Ebene 26) und höher können Nutzer außerdem Benachrichtigungen für App-spezifische Kategorien (auch als Kanäle bezeichnet) zulassen, indem sie die Funktion „Bitte nicht stören“ für die gewünschten Kanäle überschreiben. So kann eine Zahlungs-App beispielsweise Kanäle für Benachrichtigungen haben, die sich auf Abhebungen und Einzahlungen beziehen. Im Prioritätsmodus kann der Nutzer Abhebungsbenachrichtigungen, Einzahlungsbenachrichtigungen oder beides zulassen.
Auf Geräten mit Android 7.1 (API-Ebene 25) und niedriger können Nutzer Benachrichtigungen für gewünschte Apps, nicht jedoch auf Grundlage von Kanälen zulassen.
Wenn Sie Ihre Benachrichtigungen für diese Nutzereinstellungen konfigurieren möchten, müssen Sie eine systemweite Kategorie festlegen.
Benachrichtigungen für Vordergrunddienste
Eine Benachrichtigung ist erforderlich, wenn Ihre App einen Dienst im Vordergrund ausführt. Das ist ein Service
, der bereits länger im Hintergrund ausgeführt wird und für den Nutzer erkennbar ist, beispielsweise ein Mediaplayer. Diese Benachrichtigung kann nicht wie andere Benachrichtigungen geschlossen werden. Damit die Benachrichtigung entfernt wird, muss der Dienst angehalten oder aus dem Vordergrund entfernt werden.
Weitere Informationen finden Sie unter Dienste im Vordergrund. Wenn Sie einen Mediaplayer erstellen, lesen Sie auch den Artikel Medien im Hintergrund abspielen.
Postinglimits
Ab Android 8.1 (API-Ebene 27) können Apps nicht mehr als einmal pro Sekunde einen Benachrichtigungston ausgeben lassen. Wenn Ihre App in einer Sekunde mehrere Benachrichtigungen sendet, werden alle erwartungsgemäß zugestellt, es wird aber nur für die erste Benachrichtigung ein Ton ausgegeben.
Darüber hinaus wird eine Ratenbegrenzung angewendet, wenn eine Benachrichtigung aktualisiert wird. Wenn du zu einer einzelnen Benachrichtigung zu häufig (mehrere Male in weniger als einer Sekunde) Aktualisierungen sendest, werden einige Aktualisierungen möglicherweise vom System verworfen.
Benachrichtigungskompatibilität
Die Benutzeroberfläche des Android-Benachrichtigungssystems und die APIs für Benachrichtigungen entwickeln sich ständig weiter. Wenn Sie die neuesten Funktionen der Benachrichtigungs-API nutzen und gleichzeitig ältere Geräte unterstützen möchten, verwenden Sie die Benachrichtigungs-API der Support Library, NotificationCompat
, und ihre Unterklassen sowie NotificationManagerCompat
.
Auf diese Weise musst du keinen bedingten Code zur Überprüfung der API-Ebenen schreiben, da diese APIs dies für dich übernehmen.
NotificationCompat
wird bei der Weiterentwicklung der Plattform um die aktuellen Methoden ergänzt. Die Verfügbarkeit einer Methode in NotificationCompat
ist jedoch keine Garantie dafür, dass die entsprechende Funktion auf älteren Geräten bereitgestellt wird. In einigen Fällen führt das Aufrufen einer neu eingeführten API auf älteren Geräten zu einer Nulloperation.
Im Folgenden findest du eine Zusammenfassung der wichtigsten Änderungen am Verhalten von Android-Benachrichtigungen nach API-Ebene.
Android 5.0, API-Ebene 21
Sperrbildschirm und Vorabbenachrichtigungen werden eingeführt.
Der Nutzer kann das Smartphone in den Modus „Bitte nicht stören“ versetzen und konfigurieren, durch welche Benachrichtigungen er unterbrochen werden möchte, wenn sich das Gerät im Modus „Nur wichtige Unterbrechungen“ befindet.
Es wurden Methoden hinzugefügt, über die festgelegt werden kann, ob eine Benachrichtigung auf dem Sperrbildschirm angezeigt wird (z. B.
setVisibility()
). Außerdem kann darüber die „öffentliche“ Version des Benachrichtigungstexts angegeben werden.Fügt die Methode
setPriority()
hinzu, die dem System mitteilt, wie störend die Benachrichtigung ist. Wenn Sie beispielsweise die Priorität auf „Hoch“ setzen, wird die Benachrichtigung als Vorabbenachrichtigung angezeigt.Unterstützung für Benachrichtigungsstacks wurde Android Wear-Geräten (jetzt Wear OS) hinzugefügt. Benachrichtigungen mit
setGroup()
in einem Stack platzieren Benachrichtigungsstacks, die später als Gruppe oder Bundle bezeichnet werden, werden auf Tablets oder Smartphones erst ab Android 7.0 (API-Level 24) unterstützt.
Android 7.0, API-Ebene 24
Benachrichtigungsvorlagen wurden umgestaltet, um das Hero-Image und den Avatar hervorzuheben.
Es wurden drei Benachrichtigungsvorlagen hinzugefügt: eine für Messaging-Apps und die anderen beiden zum Anpassen von benutzerdefinierten Inhaltsansichten mit Maximierungsoption und anderen Systemanpassungen.
Zusätzliche Unterstützung für Handheld-Geräte wie Smartphones und Tablets für Benachrichtigungsgruppen. Verwendet dieselbe API wie die in Android 5.0 (API-Level 21) eingeführten Benachrichtigungsstacks von Android Wear (jetzt Wear OS).
Nutzer können über die Funktion „Direkt in der Benachrichtigung antworten“ direkt in einer Benachrichtigung antworten. Sie können Text eingeben, der dann an die übergeordnete App der Benachrichtigung weitergeleitet wird.
Android 8.0 (API-Ebene 26)
Einzelne Benachrichtigungen werden einem bestimmten Kanal zugeordnet.
Nutzer können Benachrichtigungen für einzelne Kanäle statt alle Benachrichtigungen einer App deaktivieren.
Bei Apps mit aktiven Benachrichtigungen wird ein Benachrichtigungskennzeichen auf dem App-Symbol angezeigt, das sich auf dem Start- oder Launcher-Bildschirm befindet.
Nutzer können Benachrichtigungen auf der Leiste jetzt zurückstellen. Außerdem kann ein automatisches Zeitlimit für Benachrichtigungen festgelegt werden.
Hier können Sie die Hintergrundfarbe der Benachrichtigung festlegen.
Verschiebt einige APIs in Bezug auf das Benachrichtigungsverhalten von
Notification
inNotificationChannel
. Verwenden Sie beispielsweiseNotificationChannel.setImportance()
anstelle vonNotificationCompat.Builder.setPriority()
unter Android 8.0 und höher.
Android 13.0, API-Level 33
- Fügt Laufzeitberechtigung hinzu. Damit Ihre Anwendung nicht ausgenommene Benachrichtigungen senden kann, muss der Nutzer Ihrer Anwendung diese Berechtigung erteilen.
Android 14.0, API-Level 34
Begrenzt Vollbild-Intent-Benachrichtigungen auf Apps, die Anrufe und Wecker bereitstellen. Mit der
NotificationManager.canUseFullScreenIntent
API können Sie prüfen, ob Ihre App die Berechtigung hat. Andernfalls kann Ihre App überACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
die Seite „Einstellungen“ öffnen, auf der Nutzer die Berechtigung erteilen können.Ändert die Funktionsweise von nicht abwischbaren Benachrichtigungen, indem Nutzern die Möglichkeit gegeben wird, Benachrichtigungen auch dann zu schließen, wenn das Flag
Notification.FLAG_ONGOING_EVENT
gesetzt ist. Dies gilt nicht fürCallStyle
-Benachrichtigungen, wenn das FlagNotification.FLAG_ONGOING_EVENT
gesetzt ist oder der Geräterichtliniencontroller (Device Policy Controller, DPC) und die unterstützenden Pakete für Unternehmen verwendet werden. Das gilt auch, wenn das Smartphone gesperrt ist oder der Nutzer Alles löschen auswählt.