Ü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 aus deiner App zur Verfügung zu stellen. Nutzer können auf die Benachrichtigung tippen, um deine App zu öffnen, oder direkt über die Benachrichtigung eine Aktion ausfü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 findest du im Leitfaden zur Gestaltung von Benachrichtigungen.

Darstellung auf einem Gerät

Benachrichtigungen werden Nutzern an unterschiedlichen 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 Symbol der App 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. Dort können sie weitere Details ansehen und Aktionen mit der Benachrichtigung ausführen.

Abbildung 2. Benachrichtigungen auf der Benachrichtigungsleiste.

Nutzer können eine Benachrichtigung in der Leiste nach unten ziehen, um die maximierte Ansicht aufzurufen, 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 mit laufenden Diensten im Vordergrund beenden können.

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 gilt normalerweise für wichtige Benachrichtigungen, über die der Nutzer sofort informiert werden muss, und wird nur angezeigt, wenn das Gerät entsperrt ist.

Abbildung 3: Eine Vorabbenachrichtigung wird vor der App im Vordergrund angezeigt.

Die Vorabbenachrichtigung wird angezeigt, wenn Ihre App die Benachrichtigung ausgibt. Sie verschwindet nach kurzer Zeit, bleibt aber wie gewohnt auf der Benachrichtigungsleiste sichtbar.

Folgende Bedingungen können Vorabbenachrichtigungen auslösen:

  • Die Aktivität des Nutzers erfolgt im Vollbildmodus, 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.

Sie können programmatisch festlegen, ob von Ihrer App gepostete Benachrichtigungen auf einem sicheren Sperrbildschirm angezeigt werden sollen und gegebenenfalls die Detailebene sichtbar.

In den Systemeinstellungen können Nutzer die Detailebene für Benachrichtigungen auf dem Sperrbildschirm auswählen oder alle Benachrichtigungen auf dem Sperrbildschirm deaktivieren. Ab Android 8.0 können Nutzer Sperrbildschirm-Benachrichtigungen für jeden Benachrichtigungskanal deaktivieren oder aktivieren.

Abbildung 4: Benachrichtigungen auf dem Sperrbildschirm, bei denen sensible Inhalte ausgeblendet sind.

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, das auch als Benachrichtigungspunkt im entsprechenden App Launcher-Symbol bezeichnet wird.

Nutzer können ein App-Symbol berühren und halten, um die Benachrichtigungen für diese App aufzurufen. Sie können Benachrichtigungen über dieses Menü schließen oder auf sie reagieren, ähnlich wie bei der Benachrichtigungsleiste.

Abbildung 5: Benachrichtigungskennzeichen und das Menü "Berühren und halten"

Weitere Informationen zur Funktionsweise von Badges finden Sie unter Benachrichtigungssymbol ändern.

Wear OS-Geräte

Wenn der Nutzer ein gekoppeltes Wear OS-Gerät hat, werden dort automatisch alle Benachrichtigungen angezeigt, einschließlich maximierbarer Details und Aktionsschaltflächen.

Sie können die Darstellung Ihrer Benachrichtigungen auf Wearables anpassen und verschiedene Aktionen anbieten, einschließlich vorgeschlagener Antworten und Antworten per Spracheingabe, um die Nutzung zu verbessern. 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 von Systemvorlagen bestimmt und Ihre App definiert den Inhalt 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 Teile einer Benachrichtigung sind in Abbildung 7 dargestellt:

  1. Kleines Symbol: erforderlich; wird mit setSmallIcon() festgelegt.
  2. App-Name: wird vom System bereitgestellt.
  3. Zeitstempel: Der Zeitstempel wird vom System bereitgestellt, kann aber mit setWhen() überschrieben oder mit setShowWhen(false) ausgeblendet werden.
  4. Großes Symbol: optional; wird normalerweise nur für Kontaktfotos verwendet. und nicht für dein App-Symbol. Legen Sie diesen Wert mit setLargeIcon() fest.
  5. Titel: optional; wird mit setContentTitle() festgelegt.
  6. Text: optional; wird mit setContentText() festgelegt.

Wir empfehlen dringend, Systemvorlagen zu verwenden, damit die Designkompatibilität auf allen Geräten gewährleistet ist. 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 unbedingt erforderlich, aber eine bewährte Praxis 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 erledigen – oft, ohne eine Aktivität zu öffnen – (siehe Abbildung 8).

Abbildung 8: Eine Benachrichtigung mit Aktionsschaltflächen.

Ab Android 7.0 (API-Ebene 24) können Sie eine Aktion hinzufügen, um auf Nachrichten zu antworten oder anderen Text direkt aus der Benachrichtigung einzugeben.

Ab Android 10 (API-Level 29) kann die Plattform automatisch Aktionsschaltflächen mit vorgeschlagenen absichtsbasierten Aktionen generieren.

Das Hinzufügen von Aktionsschaltflächen wird unter Benachrichtigung erstellen näher erläutert.

Gerät ohne SIM-Lock verlangen

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 Direktantwort sendet, müssen Nutzer das Gerät entsperren, bevor die App diese Benachrichtigungsaktion aufrufen kann.

Unter Android 12 (API-Level 31) und höher kannst du eine Benachrichtigungsaktion so konfigurieren, dass das Gerät entsperrt werden muss, damit deine App diese Aktion aufrufen kann. Dabei spielt es keine Rolle, welchen Workflow die Aktion startet. Mit dieser Option werden Benachrichtigungen auf gesperrten Geräten noch sicherer.

Wenn Sie möchten, dass ein Gerät entsperrt werden muss, bevor Ihre App eine bestimmte Benachrichtigungsaktion auslöst, ü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 Sie möchten, dass Ihre Benachrichtigung länger sein soll, können Sie einen größeren Textbereich aktivieren, der maximiert werden kann, indem Sie eine zusätzliche Vorlage anwenden (siehe Abbildung 9).

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

Sie können auch eine maximierbare Benachrichtigung mit einem Bild, im Posteingangsstil, für eine Chatunterhaltung oder mit der Steuerung für die Medienwiedergabe erstellen. Weitere Informationen finden Sie unter Maximierbare Benachrichtigung erstellen.

Benachrichtigungsaktualisierungen und -gruppen

Damit Ihre Nutzer nicht mit mehreren oder redundanten Benachrichtigungen überflutet werden, wenn weitere Aktualisierungen verfügbar sind, sollten Sie eine vorhandene Benachrichtigung aktualisieren, anstatt eine neue zu senden, oder die Benachrichtigung im Posteingangsstil verwenden, um Unterhaltungsaktualisierungen anzuzeigen.

Wenn es jedoch notwendig ist, mehrere Benachrichtigungen zu senden, kannst du die separaten Benachrichtigungen in einer Gruppe zusammenfassen, die unter Android 7.0 und höher verfügbar ist.

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

Abbildung 10: Eine minimierte und maximierte Benachrichtigungsgruppe.

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

Benachrichtigungskanäle

Ab Android 8.0 (API-Ebene 26) müssen alle Benachrichtigungen einem Kanal zugewiesen sein. Andernfalls werden sie nicht angezeigt. 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 (siehe Abbildung 11). Nutzer können auch eine Benachrichtigung berühren und 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. Jede App hat nur einen Kanal unter Android 7.1 und niedriger.

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

Eine App kann separate Kanäle für jeden Benachrichtigungstyp haben, den die App auslöst. Eine Anwendung kann auch als Reaktion auf Entscheidungen der Nutzer Benachrichtigungskanäle erstellen. Sie können beispielsweise separate Benachrichtigungskanäle für jede Unterhaltungsgruppe einrichten, die von einem Nutzer in einer Messaging-App erstellt wurde.

Unter Android 8.0 und höher legen Sie auch die Wichtigkeitsstufe Ihrer Benachrichtigungen im Kanal fest. So zeigen alle Benachrichtigungen, die auf demselben Benachrichtigungskanal gepostet werden, 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, wie stark die Benachrichtigung den Nutzer visuell und akustisch stört. Je höher die Wichtigkeit einer Benachrichtigung, desto störender ist sie.

Unter Android 7.1 (API-Level 25) und niedriger wird die Wichtigkeit einer Benachrichtigung durch den priority der Benachrichtigung bestimmt.

Unter Android 8.0 (API-Level 26) und höher wird die Wichtigkeit einer Benachrichtigung durch den 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 unter Android 8.0 und höher die Wichtigkeit der einzelnen Kanäle ändern.

Die möglichen Wichtigkeitsstufen und das damit verbundene Benachrichtigungsverhalten sind:

  • Dringend: Ein akustisches Signal ertönt und eine Vorabbenachrichtigung wird angezeigt.

  • Hoch: macht ein Geräusch.

  • Mittel: macht keinen Ton.

  • Niedrig: Kein Ton und wird nicht in der Statusleiste angezeigt

Alle Benachrichtigungen werden unabhängig von ihrer Wichtigkeit an nicht störenden Bereichen der Systemoberfläche angezeigt, z. B. auf der Benachrichtigungsleiste und als Badge im Launcher-Symbol. Sie können jedoch die Darstellung des Benachrichtigungslogos ä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. Dadurch werden Ton und Vibration für alle Benachrichtigungen stummgeschaltet. Benachrichtigungen werden weiterhin wie gewohnt auf der System-UI angezeigt, sofern der Nutzer nichts anderes festlegt.

Im Modus „Bitte nicht stören“ gibt es drei Stufen:

  • Lautlos: Alle Töne und Vibrationen werden blockiert, einschließlich Wecktönen, Musik, Videos und Spielen.
  • Nur Wecker: Akustische Signale und Vibrationen werden blockiert, mit Ausnahme von Weckern.
  • Nur wichtige: Nutzer können konfigurieren, welche systemweiten Kategorien sie unterbrechen dürfen, z. B. nur Wecker, Erinnerungen, Ereignisse, Anrufe oder Nachrichten. Bei Nachrichten und Anrufen können Nutzer nach Absender oder Anrufer filtern (siehe Abbildung 13).

Abbildung 13. Nutzer können Benachrichtigungen basierend auf systemweiten Kategorien (links) und 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 den Modus „Bitte nicht stören“ für einzelne Kanäle überschreiben. Eine Zahlungs-App kann beispielsweise Kanäle für Benachrichtigungen zu Abhebungen und Einzahlungen haben. Im Prioritätsmodus kann der Nutzer Abhebungsbenachrichtigungen, Benachrichtigungen zu Einzahlungen oder beides zulassen.

Auf Geräten mit Android 7.1 (API-Level 25) und niedriger können Nutzer Benachrichtigungen für einzelne Apps statt über einzelne Kanäle zulassen.

Wenn du deine Benachrichtigungen für diese Nutzereinstellungen konfigurieren möchtest, musst du eine systemweite Kategorie festlegen.

Benachrichtigungen für Vordergrunddienste

Eine Benachrichtigung ist erforderlich, wenn in Ihrer App ein Dienst im Vordergrund ausgeführt wird, also ein Service, das langlebig ist und für den Nutzer sichtbar ist, z. B. ein Medienplayer. Diese Benachrichtigung kann nicht wie andere Benachrichtigungen geschlossen werden. Zum Entfernen der Benachrichtigung muss der Dienst beendet oder aus dem Vordergrundstatus entfernt werden.

Weitere Informationen finden Sie unter Dienste im Vordergrund. Wenn Sie einen Mediaplayer erstellen, lesen Sie auch den Artikel Medien im Hintergrund abspielen.

Maximale Anzahl von Beiträgen

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 wie erwartet angezeigt, es wird jedoch nur bei der ersten Benachrichtigung pro Sekunde ein Ton ausgegeben.

Darüber hinaus wird eine Ratenbegrenzung angewendet, wenn eine Benachrichtigung aktualisiert wird. Wenn Sie zu häufig Updates für eine einzelne Benachrichtigung hochladen (z. B. viele in weniger als einer Sekunde), kann das System Aktualisierungen verwerfen.

Benachrichtigungskompatibilität

Die Benutzeroberfläche für das Benachrichtigungssystem von Android und die APIs für Benachrichtigungen werden ständig weiterentwickelt. Wenn Sie die neuesten Features der Notification API nutzen und gleichzeitig ältere Geräte unterstützen möchten, verwenden Sie die Support Library Notification API, NotificationCompat und deren Unterklassen sowie NotificationManagerCompat. So müssen Sie keinen bedingten Code zum Prüfen von API-Ebenen schreiben, da dieser Code von diesen APIs verarbeitet wird.

NotificationCompat wird im Zuge der Weiterentwicklung der Plattform mit den neuesten Methoden aktualisiert. Die Verfügbarkeit einer Methode in NotificationCompat garantiert jedoch nicht, dass die entsprechende Funktion auch 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 für Android-Benachrichtigungen nach API-Ebene.

Android 5.0, API-Ebene 21

  • Einführung des Sperrbildschirms und der Vorabbenachrichtigungen

  • Ermöglicht dem Nutzer, das Smartphone in den Modus „Bitte nicht stören“ zu versetzen und zu konfigurieren, welche Benachrichtigungen ihn unterbrechen dürfen, wenn sich das Gerät im Modus „Nur wichtige“ befindet.

  • Fügt Methoden hinzu, mit denen festgelegt werden kann, ob eine Benachrichtigung auf dem Sperrbildschirm angezeigt wird, z. B. setVisibility(), und zum Angeben einer „öffentlichen“ Version des Benachrichtigungstexts.

  • Fügt die Methode setPriority() hinzu, die dem System mitteilt, wie störend die Benachrichtigung ist. Wenn du beispielsweise die Priorität auf "Hoch" setzt, wird die Benachrichtigung als Vorabbenachrichtigung angezeigt.

  • Benachrichtigungsstacks werden auf Android Wear-Geräten (jetzt Wear OS) unterstützt. Benachrichtigungen lassen sich mit setGroup() in einem Stack zusammenfassen. Benachrichtigungsstacks, die später als Gruppe oder Bundle bezeichnet werden, werden erst ab Android 7.0 (API-Level 24) auf Tablets oder Smartphones unterstützt.

Android 7.0, API-Ebene 24

  • Benachrichtigungsvorlagen werden umgestaltet, um das Hero-Image und den Avatar hervorzuheben.

  • Es werden drei Benachrichtigungsvorlagen hinzugefügt: eine für Messaging-Apps und die anderen beiden zum Dekorieren benutzerdefinierter Inhaltsansichten mit der maximierbaren Anzeige und anderen Systemgestaltungen.

  • Ergänzt 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).

  • Ermöglicht Nutzern, mit einer Inline-Antwort innerhalb einer Benachrichtigung zu antworten. Sie können Text eingeben, der dann an die übergeordnete App der Benachrichtigung weitergeleitet wird.

Android 8.0 (API-Ebene 26)

  • Einzelne Benachrichtigungen können einem bestimmten Kanal zugeordnet werden.

  • Damit können Nutzer Benachrichtigungen pro Kanal deaktivieren, anstatt alle Benachrichtigungen einer App zu deaktivieren.

  • Lässt Apps mit aktiven Benachrichtigungen über dem App-Symbol auf dem Start- oder Launcher-Bildschirm ein Benachrichtigungskennzeichen anzeigen.

  • Damit können Nutzer Benachrichtigungen in der Leiste zurückstellen. Sie können ein automatisches Zeitlimit für eine Benachrichtigung festlegen.

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

  • Verschiebt einige APIs, die das Benachrichtigungsverhalten betreffen, von Notification in NotificationChannel. Verwenden Sie z. B. NotificationChannel.setImportance() statt 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 Full-Screen-Intent-Benachrichtigungen auf Apps, die Anrufe und Alarme auslösen. Verwenden Sie die NotificationManager.canUseFullScreenIntent API, um zu prüfen, ob Ihre App eine Berechtigung hat. Ist dies nicht der Fall, kann Ihre App mit ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT die Seite mit den Einstellungen öffnen, auf der Nutzer die Berechtigung erteilen können.

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