Übersicht zu Benachrichtigungen

Eine Benachrichtigung ist eine Nachricht, die Android außerhalb der Benutzeroberfläche deiner App anzeigt, um dem Nutzer Erinnerungen, Mitteilungen von anderen Personen oder andere zeitnahe Informationen von deiner App bereitzustellen. Nutzer können auf die Benachrichtigung tippen, um deine App zu öffnen oder direkt über die Benachrichtigung eine Aktion auszuführen.

Auf dieser Seite erhalten Sie einen Überblick darüber, wo Benachrichtigungen angezeigt werden und welche Funktionen verfügbar sind. Informationen zum Erstellen von Benachrichtigungen finden Sie unter Benachrichtigung erstellen.

Weitere Informationen zum Benachrichtigungsdesign und zu Interaktionsmustern 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 detaillierterer Eintrag auf der Benachrichtigungsleiste und als Badge 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.

Abbildung 1: Benachrichtigungssymbole werden links 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.

Abbildung 2. Benachrichtigungen auf der Benachrichtigungsleiste.

Nutzer können eine Benachrichtigung auf der Leiste nach unten ziehen, um die maximierte Ansicht anzuzeigen, in der zusätzliche Inhalte und Aktionsschaltflächen (falls vorhanden) angezeigt werden. Ab Android 13 enthält diese erweiterte Ansicht eine Schaltfläche, mit der Nutzer eine App beenden können, für die Dienste im Vordergrund ausgeführt werden.

Eine Benachrichtigung bleibt auf 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, das als Vorabbenachrichtigung bezeichnet wird. Dieses Verhalten tritt normalerweise bei wichtigen Benachrichtigungen auf, über die der Nutzer sofort informiert werden muss, und wird nur angezeigt, wenn das Gerät entsperrt ist.

Abbildung 3: Vor der App im Vordergrund wird eine Vorabbenachrichtigung angezeigt.

Die Vorabbenachrichtigung wird angezeigt, wenn Ihre App die Benachrichtigung ausgibt. Sie verschwindet nach wenigen Augenblicken, 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 verwendet Klingeltöne oder Vibrationen auf Geräten mit Android 7.1 (API-Level 25) und niedriger.

  • Der Benachrichtigungskanal hat auf Geräten mit Android 8.0 (API-Level 26) und höher eine hohe Bedeutung.

Sperrbildschirm

Ab Android 5.0 können Benachrichtigungen auf dem Sperrbildschirm angezeigt werden.

Du kannst programmatisch festlegen, ob von deiner App gepostete Benachrichtigungen auf einem sicheren Sperrbildschirm angezeigt werden, und gegebenenfalls die angezeigte Detailebene.

Nutzer können über die Systemeinstellungen die Detailebene auswählen, die in Benachrichtigungen auf dem Sperrbildschirm sichtbar sein soll, oder alle Benachrichtigungen auf dem Sperrbildschirm deaktivieren. Ab Android 8.0 können Nutzer Benachrichtigungen auf dem Sperrbildschirm für jeden Benachrichtigungskanal deaktivieren oder aktivieren.

Abbildung 4: Benachrichtigungen auf dem Sperrbildschirm mit ausgeblendeten sensiblen Inhalten.

Weitere Informationen findest du unter Sichtbarkeit des Sperrbildschirms festlegen.

Kennzeichen auf App-Symbolen

In unterstützten Launchern auf Geräten mit Android 8.0 (API-Level 26) und höher kennzeichnen App-Symbole neue Benachrichtigungen durch ein farbiges Badge, einen sogenannten Benachrichtigungspunkt.

Nutzer können ein App-Symbol gedrückt halten, um die Benachrichtigungen für diese App zu sehen. Nutzer können Benachrichtigungen über dieses Menü schließen oder darauf reagieren, ähnlich wie in der Benachrichtigungsleiste.

Abbildung 5: Benachrichtigungskennzeichen und das Menü zum Berühren und Halten.

Weitere Informationen zur Funktionsweise von Badges 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.

Du kannst die Darstellung deiner Benachrichtigungen auf Wearables anpassen und verschiedene Aktionen anbieten, z. B. vorgeschlagene Antworten und Antworten per Spracheingabe. Weitere Informationen findest du unter Wearable-spezifische Funktionen zu Benachrichtigungen hinzufügen.

Abbildung 6: Benachrichtigungen werden automatisch auf einem gekoppelten Wear OS-Gerät angezeigt.

Benachrichtigungsaufbau

Das Design einer Benachrichtigung wird durch Systemvorlagen bestimmt und Ihre App definiert die Inhalte für jeden Teil der Vorlage. Einige Details der Benachrichtigung werden nur in der erweiterten Ansicht angezeigt.

Abbildung 7: Eine Benachrichtigung mit grundlegenden Details.

Die häufigsten Bestandteile einer Benachrichtigung sind in Abbildung 7 so dargestellt:

  1. Kleines Symbol: erforderlich; wird mit setSmallIcon() festgelegt.
  2. App-Name: vom System angegeben
  3. Zeitstempel wird vom System bereitgestellt. Sie können ihn aber mit setWhen() überschreiben oder mit setShowWhen(false) ausblenden.
  4. Großes Symbol: optional; wird normalerweise nur für Kontaktfotos verwendet. Verwenden Sie ihn nicht für Ihr App-Symbol. Mit setLargeIcon() festlegen.
  5. Titel: optional; wird mit setContentTitle() festgelegt.
  6. 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 Funktionen und mehr finden Sie unter Benachrichtigung erstellen.

Benachrichtigungsaktionen

Es ist zwar nicht erforderlich, aber es empfiehlt sich, für jede Benachrichtigung eine entsprechende App-Aktivität zu öffnen, wenn auf sie getippt wird. Zusätzlich zu dieser Standardbenachrichtigungsaktion können Sie Aktionsschaltflächen hinzufügen, die eine App-bezogene Aufgabe aus der Benachrichtigung ausführen – oft ohne eine Aktivität zu öffnen – wie in Abbildung 8 gezeigt.

Abbildung 8: Eine Benachrichtigung mit Aktionsschaltflächen.

Ab Android 7.0 (API-Level 24) kannst du eine Aktion hinzufügen, um direkt aus der Benachrichtigung auf Nachrichten zu antworten oder anderen Text einzugeben.

Ab Android 10 (API-Level 29) kann die Plattform automatisch Aktionsschaltflächen mit Vorschlägen für absichtsbasierte Aktionen generieren.

Das Hinzufügen von Aktionsschaltflächen wird unter Benachrichtigung erstellen ausführlicher erläutert.

Gerät ohne SIM-Lock 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 aufrufen 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 aufrufen kann. Dabei spielt es keine Rolle, welchen Workflow die Aktion startet. Diese Option erhöht die Sicherheit von Benachrichtigungen auf gesperrten Geräten.

Wenn Sie möchten, dass ein Gerät entsperrt werden muss, bevor Ihre App eine bestimmte Benachrichtigungsaktion aufruft, übergeben Sie beim Erstellen der Benachrichtigungsaktion true an setAuthenticationRequired(), 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 die Benachrichtigung länger sein soll, kannst du einen größeren, maximierbaren Textbereich aktivieren, indem du eine zusätzliche Vorlage anwendest (siehe Abbildung 9).

Abbildung 9: Eine maximierbare Benachrichtigung für großen Text.

Sie können auch eine erweiterbare Benachrichtigung mit einem Bild, im Posteingangsstil, mit einer Chatunterhaltung oder mit der Medienwiedergabesteuerung erstellen. Weitere Informationen finden Sie unter Maximierbare Benachrichtigung erstellen.

Benachrichtigungsaktualisierungen und -gruppen

Damit Ihre Nutzer nicht mit mehreren oder redundanten Benachrichtigungen überschwemmt werden, wenn zusätzliche Updates verfügbar sind, aktualisieren Sie eine vorhandene Benachrichtigung, anstatt eine neue zu senden, oder verwenden Sie die Benachrichtigung im Posteingangsstil, um Aktualisierungen von Unterhaltungen anzuzeigen.

Wenn jedoch mehrere Benachrichtigungen gesendet werden müssen, empfiehlt es sich, die separaten Benachrichtigungen in einer Gruppe zu gruppieren, die ab Android 7.0 verfügbar ist.

Mit einer Benachrichtigungsgruppe können Sie mehrere Benachrichtigungen zu einem Beitrag in der Benachrichtigungsleiste mit einer Zusammenfassung minimieren. Der Nutzer kann die Benachrichtigungsgruppe und die darin enthaltenen Benachrichtigungen schrittweise erweitern, um weitere Details zu erhalten (siehe Abbildung 10).

Abbildung 10. Eine minimierte und eine maximierte Benachrichtigungsgruppe.

Informationen zum Hinzufügen von Benachrichtigungen zu einer Gruppe finden Sie unter Benachrichtigungsgruppe erstellen.

Benachrichtigungskanäle

Ab Android 8.0 (API-Level 26) müssen alle Benachrichtigungen einem Kanal zugewiesen sein. Andernfalls werden sie nicht angezeigt. Auf diese Weise 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 gezeigt. Nutzer können eine Benachrichtigung auch gedrückt halten, um das Verhalten für den verknüpften Kanal zu ändern.

Auf Geräten mit Android 7.1 (API-Level 25) und niedriger können Nutzer Benachrichtigungen nur für einzelne Apps verwalten. Tatsächlich hat jede App unter Android 7.1 und niedriger nur einen Kanal.

Abbildung 11: Benachrichtigungseinstellungen für die Uhr App und einen ihrer Kanäle.

Eine App kann für jede Art von Benachrichtigung, die sie sendet, einen eigenen Kanal haben. Eine Anwendung kann auch Benachrichtigungskanäle als Reaktion auf Entscheidungen der Nutzer erstellen. Sie können beispielsweise separate Benachrichtigungskanäle für jede Konversationsgruppe einrichten, die von einem Nutzer in einer Messaging-App erstellt wurde.

In diesem Kanal geben Sie außerdem die Wichtigkeitsstufe für Ihre Benachrichtigungen unter Android 8.0 und höher an. Alle Benachrichtigungen, die über denselben Benachrichtigungskanal gesendet werden, zeigen also dasselbe Verhalten. Dies 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 Maße die Benachrichtigung den Nutzer visuell und akustisch unterbricht. Je höher die Wichtigkeit einer Benachrichtigung, desto störender ist sie.

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 wird. Nutzer können die Wichtigkeit eines Benachrichtigungskanals in den Systemeinstellungen ändern, wie in Abbildung 12 dargestellt.

Abbildung 12. Nutzer können die Wichtigkeit der einzelnen Kanäle unter Android 8.0 und höher ändern.

Die möglichen Prioritätsstufen und das zugehörige Benachrichtigungsverhalten sind:

  • Dringend: Ein akustisches Signal ertönt und die Vorab-Benachrichtigung wird angezeigt.

  • Hoch: Ein akustisches Signal ertönt.

  • Mittel: kein akustisches Signal

  • Niedrig: kein akustisches Signal ertönt und erscheint nicht in der Statusleiste.

Alle Benachrichtigungen werden unabhängig von ihrer Wichtigkeit an nicht störenden Stellen auf der Systembenutzeroberfläche angezeigt, z. B. in der Benachrichtigungsleiste und als Badge auf dem Launcher-Symbol. Sie können jedoch die Darstellung der Benachrichtigungsanzeige ändern.

Weitere Informationen finden Sie unter Wichtigkeit festlegen.

Modus "Bitte nicht stören"

Ab Android 5.0 (API-Ebene 21) können Nutzer den Modus „Bitte nicht stören“ aktivieren, der Ton und Vibration bei allen 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“ sind drei Stufen verfügbar:

  • Lautlos: Alle Töne und Vibrationen werden blockiert, auch für Wecker, Musik, Videos und Spiele.
  • Nur Wecker: Akustische Signale und Vibrationen werden blockiert, mit Ausnahme von Weckern.
  • Nur wichtige Unterbrechungen: Nutzer können festlegen, welche systemweiten Kategorien sie unterbrechen dürfen, 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.

Abbildung 13. Nutzer können Benachrichtigungen basierend auf systemweiten Kategorien (links) und nach Absender oder Anrufer (rechts) zulassen.

Unter Android 8.0 (API-Level 26) und höher können Nutzer zusätzlich Benachrichtigungen für App-spezifische Kategorien – auch Kanäle genannt – zulassen, indem sie „Bitte nicht stören“ für jeden Kanal überschreiben. Eine Zahlungs-App könnte beispielsweise Kanäle für Benachrichtigungen im Zusammenhang mit Abzügen und Einzahlungen haben. Im Prioritätsmodus kann der Nutzer Abhebungsbenachrichtigungen, Einzahlungsbenachrichtigungen oder beides zulassen.

Auf Geräten mit Android 7.1 (API-Level 25) und niedriger können Nutzer Benachrichtigungen für einzelne Apps zulassen, anstatt für jeden Kanal.

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 Vordergrunddienst ausführt. Das ist ein Service, der langlebige und für den Nutzer wahrnehmbar ist, z. B. ein Medienplayer. 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 wiedergeben.

Limits für Beiträge

Ab Android 8.1 (API-Level 27) können Apps nur einmal pro Sekunde einen Benachrichtigungston ausgeben. Wenn Ihre App mehrere Benachrichtigungen in einer Sekunde sendet, werden alle erwartungsgemäß angezeigt, aber nur die erste Benachrichtigung pro Sekunde ertönt.

Darüber hinaus wird eine Ratenbegrenzung angewendet, wenn eine Benachrichtigung aktualisiert wird. Wenn Sie zu häufig Aktualisierungen für eine einzelne Benachrichtigung posten, z. B. viele in weniger als einer Sekunde, werden Aktualisierungen vom System möglicherweise verworfen.

Benachrichtigungskompatibilität

Die Benutzeroberfläche des Android-Benachrichtigungssystems und die benachrichtigungsbezogenen APIs werden ständig weiterentwickelt. Wenn Sie die neuesten Funktionen der Notification API nutzen und gleichzeitig ältere Geräte unterstützen möchten, verwenden Sie die Benachrichtigungs-API der Support Library, NotificationCompat und die zugehörigen abgeleiteten Klassen sowie NotificationManagerCompat. Auf diese Weise müssen Sie keinen bedingten Code zum Prüfen von API-Ebenen schreiben, da diese APIs dies verarbeiten.

NotificationCompat wird im Zuge der Weiterentwicklung der Plattform aktualisiert und enthält die neuesten Methoden. Die Verfügbarkeit einer Methode in NotificationCompat garantiert jedoch nicht, dass die entsprechende Funktion auf älteren Geräten verfügbar ist. In einigen Fällen führt der Aufruf einer neu eingeführten API auf älteren Geräten zu einer Nulloperation.

Im Folgenden finden Sie eine Zusammenfassung der wichtigsten Verhaltensänderungen bei Android-Benachrichtigungen nach API-Ebene.

Android 5.0, API-Ebene 21

  • Sperrbildschirm und Vorabbenachrichtigungen werden eingeführt.

  • Der Nutzer kann auf dem Smartphone den Modus „Bitte nicht stören“ aktivieren und konfigurieren, welche Benachrichtigungen ihn unterbrechen dürfen, wenn sich das Gerät im Modus „Nur wichtige Unterbrechungen“ befindet.

  • Es werden Methoden hinzugefügt, mit denen festgelegt werden kann, ob eine Benachrichtigung auf dem Sperrbildschirm angezeigt werden soll, z. B. setVisibility(), und eine „öffentliche“ Version des Benachrichtigungstexts anzugeben.

  • 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.

  • Android Wear-Geräte (jetzt Wear OS) unterstützen Benachrichtigungsstacks. 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

  • Die Benachrichtigungsvorlagen werden umgestaltet, um das Hero-Image und den Avatar zu betonen.

  • Es werden drei Benachrichtigungsvorlagen hinzugefügt: eine für Messaging-Apps und die anderen beiden, um benutzerdefinierte Inhaltsansichten mit erweiterbaren Angeboten und anderen Systemdesigns zu gestalten.

  • 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).

  • Damit können Nutzer mit Inline-Antworten innerhalb einer Benachrichtigung antworten. Sie können Text eingeben, der dann an die übergeordnete App der Benachrichtigung weitergeleitet wird.

Android 8.0 (API-Ebene 26)

  • Damit können Sie einzelne Benachrichtigungen einem bestimmten Kanal zuordnen.

  • Damit können Nutzer Benachrichtigungen für einzelne Kanäle deaktivieren, anstatt alle Benachrichtigungen einer App zu deaktivieren.

  • Für Apps mit aktiven Benachrichtigungen wird auf dem Start- oder Launcher-Bildschirm über dem App-Symbol ein Benachrichtigungskennzeichen angezeigt.

  • Damit können Nutzer die Schlummerfunktion für Benachrichtigungen in der Leiste aktivieren. Sie können ein automatisches Timeout für eine Benachrichtigung festlegen.

  • Hier können Sie die Hintergrundfarbe der Benachrichtigung festlegen.

  • Verschiebt einige APIs in Bezug auf das Benachrichtigungsverhalten von Notification in NotificationChannel. Verwenden Sie beispielsweise NotificationChannel.setImportance() anstelle von NotificationCompat.Builder.setPriority() für Android 8.0 und höher.

Android 13.0, API-Level 33

Android 14.0, API-Level 34

  • Beschränkt Vollbild-Intent-Benachrichtigungen auf Apps, die Anrufe und Wecker bieten. Verwenden Sie die NotificationManager.canUseFullScreenIntent API, um zu prüfen, ob Ihre App die entsprechende Berechtigung hat. Andernfalls kann Ihre App über ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT die Seite „Einstellungen“ öffnen, auf der Nutzer die Berechtigung erteilen können.

  • Ändert die Art und Weise, wie Nutzer nicht schließbare Benachrichtigungen sehen, indem sie Benachrichtigungen selbst dann schließen können, wenn das Flag Notification.FLAG_ONGOING_EVENT gesetzt ist. Dies gilt nicht für CallStyle-Benachrichtigungen, wenn das Flag Notification.FLAG_ONGOING_EVENT festgelegt ist, oder für Device Policy Controller (DPC) und unterstützende Pakete für Unternehmen. Dies gilt auch nicht, wenn das Smartphone gesperrt ist oder der Nutzer Alle löschen auswählt.