Benachrichtigungen auf Uhren verwenden die gleichen APIs und haben dieselbe Struktur wie Benachrichtigungen auf Telefonen.
Benachrichtigungen können auf einer Uhr auf zwei Arten angezeigt werden:
- Eine mobile App erstellt eine Benachrichtigung und das System verbindet diese Benachrichtigung automatisch mit der Uhr.
- Eine Wearable-App erstellt eine Benachrichtigung.
Verwenden Sie in beiden Szenarien die Klasse NotificationCompat.Builder
, um Benachrichtigungen zu erstellen. Wenn Sie Benachrichtigungen mit der Builder-Klasse erstellen, sorgt das System für die korrekte Anzeige von Benachrichtigungen. Wenn du beispielsweise eine Benachrichtigung von deiner mobilen App aus sendest, wird jede Benachrichtigung als Karte im Benachrichtigungsstream angezeigt.
Das folgende Beispiel zeigt, wie Benachrichtigungen angezeigt werden.
Die besten Ergebnisse erzielen Sie mit einer der abgeleiteten NotificationCompat.Style
-Klassen.
Hinweis:Wenn du RemoteViews
verwendest, werden Benachrichtigungen zu benutzerdefinierten Layouts entfernt und auf dem Wearable werden nur Text und Symbole angezeigt.
Benachrichtigungen zu Wearables empfohlen
Nutze maximierbare Benachrichtigungen als Ausgangspunkt für alle Benachrichtigungen, da sie eine großartige Möglichkeit sind, das Interesse von Wearable-Nutzern zu wecken. Der minimierte Zustand wird auf einen Blick in der Benachrichtigungsleiste angezeigt. Wenn der Nutzer darauf tippt, wird die Benachrichtigung maximiert und es entstehen durch Scrollen zusätzliche Inhalte und Aktionen.
Du kannst eine Expandable-Benachrichtigung genauso wie auf einem Mobilgerät erstellen und dazu eine der abgeleiteten NotificationCompat.Style
-Klassen verwenden. Eine Standardbenachrichtigung mit NotificationCompat.MessagingStyle
sieht beispielsweise so aus:
Sie sehen, dass am Ende des maximierten Zustands mehrere Aktionen für die Benachrichtigung gestapelt sind.
Beispiele für NotificationCompat.BigPictureStyle
, NotificationCompat.BigTextStyle
, NotificationCompat.InboxStyle
und NotificationCompat.MessagingStyle
finden Sie im Benachrichtigungsbeispiel auf GitHub.
Tipp:Wenn deine Benachrichtigungen eine Antwortaktion enthalten, z. B. für eine Messaging-App, kannst du das Verhalten der Benachrichtigung verbessern. Du kannst beispielsweise Antworten per Spracheingabe direkt aus den Wearable- oder vordefinierten Textantworten mit setChoices()
aktivieren.
Weitere Informationen findest du unter Schaltfläche „Antworten“ hinzufügen.
Doppelte Benachrichtigungen vermeiden
Standardmäßig werden Benachrichtigungen von einer Companion-Smartphone-App mit einer gekoppelten Smartwatch verbunden. Dies ist eine gute Option, wenn du keine Wearable-App installiert hast.
Wenn du jedoch eine eigenständige Smartwatch-App und eine Companion-App für Smartphones erstellst, erzeugen die Apps doppelte Benachrichtigungen.
Wear OS bietet eine Möglichkeit, doppelte Benachrichtigungen mit den Bridging APIs zu verhindern. Weitere Informationen finden Sie unter Überbrückungsoptionen für Benachrichtigungen.
Wearable-spezifische Funktionen zu Benachrichtigungen hinzufügen
Wenn du Wearable-spezifische Funktionen zu einer Benachrichtigung hinzufügen möchtest, z. B. ein App-Symbol in der Wearable-Benachrichtigung ausblenden oder Nutzern erlauben möchtest, eine Textantwort per Spracheingabe zu diktieren, kannst du die NotificationCompat.WearableExtender
-Klasse verwenden, um die Optionen anzugeben.
So verwenden Sie diese API:
-
Erstelle eine Instanz von
WearableExtender
und lege die Wearable-spezifischen Optionen für die Benachrichtigung fest. -
Erstellen Sie eine Instanz von
NotificationCompat.Builder
und legen Sie die gewünschten Attribute für Ihre Benachrichtigung fest, wie weiter oben in diesem Leitfaden beschrieben. -
Rufen Sie in der Benachrichtigung
extend()
auf und übergeben Sie dieWearableExtender
. Dadurch werden die Wearable-Optionen auf die Benachrichtigung angewendet. -
Rufen Sie
build()
auf, um die Benachrichtigung zu erstellen.
Hinweis: Wenn Sie NotificationManager
des Frameworks verwenden, funktionieren einige Features von NotificationCompat.WearableExtender
nicht. Verwenden Sie daher
NotificationCompat
.
Das Ablehnen oder Absagen von Benachrichtigungen lässt sich auf den Geräten des Nutzers synchronisieren. Verwenden Sie zum Synchronisieren einer Ablehnung die Methode
setDismissalId()
. Übergeben Sie für jede Benachrichtigung eine global eindeutige ID als String, wenn Sie setDismissalId()
aufrufen. Wenn die Benachrichtigung geschlossen wird, werden alle anderen Benachrichtigungen mit derselben Ablehnungs-ID auf der Smartwatch und auf dem gekoppelten Smartphone geschlossen. Verwende
getDismissalId()
, um eine Ablehnungs-ID abzurufen.
Nur Wearable-Aktionen festlegen
Wenn auf der Smartwatch und dem Smartphone unterschiedliche Aktionen verfügbar sein sollen, verwende
WearableExtender.addAction()
. Sobald du eine Aktion mit dieser Methode hinzugefügt hast, zeigt das Wearable keine weiteren Aktionen an, die mit
NotificationCompat.Builder.addAction()
hinzugefügt wurden. Die mit WearableExtender.addAction()
hinzugefügten Aktionen werden nur auf dem Wearable angezeigt, nicht auf dem Smartphone.