Benachrichtigungen unter Wear OS

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:

  1. Eine mobile App erstellt eine Benachrichtigung und das System verbindet diese Benachrichtigung automatisch mit der Uhr.
  2. 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. Benachrichtigungskarten

Abbildung 1: Dieselbe Benachrichtigung wird auf einem Smartphone und auf einer Smartwatch angezeigt.

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: maximierbare-Benachrichtigung

Abbildung 2: Beispiel für eine MessagingStyle-Benachrichtigung unter Wear OS.

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:

  1. Erstelle eine Instanz von WearableExtender und lege die Wearable-spezifischen Optionen für die Benachrichtigung fest.
  2. 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.
  3. Rufen Sie in der Benachrichtigung extend() auf und übergeben Sie die WearableExtender. Dadurch werden die Wearable-Optionen auf die Benachrichtigung angewendet.
  4. 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.