Powiadomienia na zegarkach korzystają z tych samych interfejsów API i mają taką samą strukturę jak powiadomienia na telefonach.
Powiadomienia mogą pojawiać się na zegarku na 2 sposoby:
- Aplikacja mobilna tworzy powiadomienie, a system automatycznie łączy je z zegarkiem.
- Aplikacja do noszenia tworzy powiadomienie.
W obu scenariuszach do tworzenia powiadomień użyj klasy NotificationCompat.Builder
. Gdy tworzysz powiadomienia za pomocą klasy konstruktora, system dba o ich prawidłowe wyświetlanie. Jeśli na przykład wyślesz powiadomienie z aplikacji mobilnej, każde powiadomienie będzie wyświetlane jako karta w strumieniu powiadomień.
Zapoznaj się z poniższym przykładem, aby zobaczyć, jak wyświetlają się powiadomienia.
Aby uzyskać najlepsze wyniki, użyj jednej z podklas NotificationCompat.Style
.
Uwaga: użycie RemoteViews
spowoduje usunięcie powiadomień o układach niestandardowych, a urządzenie do noszenia wyświetla tylko tekst i ikony.
Zalecane powiadomienia dotyczące urządzeń do noszenia
Rozwijane powiadomienia powinny być punktem wyjścia dla wszystkich powiadomień, ponieważ stanowią świetny sposób na zaangażowanie użytkowników urządzeń do noszenia. Stan zwinięty wyświetla się na pasku powiadomień, dzięki czemu szybko rzuca się w oczy. Gdy użytkownik ją kliknie, powiadomienie się rozwinie, pokazując wciągające funkcje dodatkowe z możliwością przewijania.
Możesz utworzyć powiadomienie rozwijane w taki sam sposób jak na urządzeniach mobilnych, używając dowolnych podklas NotificationCompat.Style
. Na przykład standardowe powiadomienie z elementem NotificationCompat.MessagingStyle
wygląda tak:
Jak widać, powiadomienie zawiera wiele działań ułożonych u dołu stanu rozwiniętego.
Przykłady NotificationCompat.BigPictureStyle
, NotificationCompat.BigTextStyle
, NotificationCompat.InboxStyle
i NotificationCompat.MessagingStyle
znajdziesz w przykładowym powiadomieniu w GitHubie.
Wskazówka: jeśli powiadomienia zawierają działanie „odpowiedz”, np. w przypadku aplikacji do obsługi wiadomości, możesz ulepszyć działanie powiadomienia. Możesz na przykład włączyć odpowiedzi głosowe bezpośrednio w urządzeniu do noszenia lub wstępnie zdefiniowanych odpowiedziach tekstowych za pomocą funkcji setChoices()
.
Więcej informacji znajdziesz w sekcji Dodawanie przycisku odpowiedzi.
Unikanie powielania powiadomień
Domyślnie powiadomienia są połączone z powiązaną aplikacją na telefon ze wszystkimi sparowanymi zegarkami. Jest to świetne rozwiązanie, jeśli nie masz zainstalowanej aplikacji do noszenia.
Jeśli jednak utworzysz samodzielną aplikację na zegarek i towarzyszącą aplikację na telefon, aplikacje te będą tworzyć zduplikowane powiadomienia.
Wear OS umożliwia zapobieganie duplikowaniu powiadomień za pomocą interfejsów Bridging API. Więcej informacji znajdziesz w artykule Opcje blokowania powiadomień.
Dodawanie do powiadomienia funkcji specyficznych dla urządzeń do noszenia
Jeśli chcesz dodać do powiadomienia funkcje dotyczące urządzeń do noszenia, na przykład ukryć ikonę aplikacji w powiadomieniu na urządzeniu do noszenia lub zezwolić użytkownikom na dyktowanie odpowiedzi tekstowej, możesz użyć klasy NotificationCompat.WearableExtender
, aby określić opcje.
Aby użyć tego interfejsu API, wykonaj te czynności:
-
Utwórz instancję
WearableExtender
, ustawiając opcje powiadomień dla urządzeń do noszenia. -
Utwórz instancję
NotificationCompat.Builder
i ustaw odpowiednie właściwości powiadomienia w sposób opisany w tym przewodniku. -
Zadzwoń pod numer
extend()
w powiadomieniu i przekażWearableExtender
. Spowoduje to zastosowanie opcji do noszenia do powiadomienia. -
Wywołaj
build()
, aby utworzyć powiadomienie.
Uwaga: jeśli używasz NotificationManager
platformy, niektóre funkcje NotificationCompat.WearableExtender
nie będą działać. Pamiętaj, by używać usługi
NotificationCompat
.
Możesz synchronizować odrzucenia lub anulowanie powiadomień na urządzeniach użytkownika. Aby zsynchronizować odrzucenie, użyj metody
setDismissalId()
. Przy wywołaniu funkcji setDismissalId()
dla każdego powiadomienia przekaż w postaci ciągu znaków unikalny identyfikator globalnie. Po odrzuceniu powiadomienia wszystkie pozostałe powiadomienia z tym samym identyfikatorem odrzucenia są zamykane na zegarku i na telefonie towarzyszącym. Aby pobrać identyfikator odrzucenia, użyj kodu
getDismissalId()
.
Określ działania tylko do noszenia
Jeśli chcesz, aby na zegarku i na telefonie były dostępne różne działania, użyj funkcji
WearableExtender.addAction()
. Gdy dodasz działanie za pomocą tej metody, urządzenie do noszenia nie będzie wyświetlać żadnych innych akcji dodanych za pomocą
NotificationCompat.Builder.addAction()
. Działania dodane za pomocą funkcji WearableExtender.addAction()
pojawiają się tylko na urządzeniu do noszenia, a nie na telefonie.