As notificações em smartwatches usam as mesmas APIs e têm a mesma estrutura das notificações em smartphones.
As notificações podem aparecer em um smartwatch de duas maneiras:
- O app para dispositivos móveis cria uma notificação e o sistema conecta automaticamente essa notificação ao smartwatch.
- Um app para wearables cria uma notificação.
Em ambos os cenários, os desenvolvedores usam a classe
NotificationCompat.Builder
para criar notificações. Ao criar notificações com a classe builder, o sistema
se encarrega de mostrar as notificações corretamente.
Por exemplo, quando você emite uma notificação do seu app para dispositivos móveis, cada notificação é mostrada como um card no fluxo de notificações.

Figura 1. A mesma notificação mostrada no smartphone e no smartwatch.
Use uma das subclasses
NotificationCompat.Style
para ter os melhores resultados.
Notificações recomendadas para wearables
Recomendamos usar notificações que podem ser abertas como o ponto de partida para todas as notificações, porque elas são uma ótima maneira de engajamento para os usuários de wearables. O estado recolhido é mostrado na bandeja de notificações para proporcionar uma experiência curta e fácil de entender. Se o usuário tocar nela, a notificação é aberta, revelando uma experiência imersiva e rolável de conteúdo e ações adicionais.
É possível Criar uma notificação que pode ser aberta
da mesma forma que em um dispositivo móvel com qualquer uma das subclasses
NotificationCompat.Style
.
Por exemplo, uma notificação padrão que usa
NotificationCompat.MessagingStyle
tem esta aparência:
Figura 2. Exemplo de uma notificação MessagingStyle no Wear OS.
Você vai notar que a notificação tem várias Ações empilhadas na parte de baixo do estado aberto.
Para conferir exemplos de
NotificationCompat.BigPictureStyle
,
NotificationCompat.BigTextStyle
,
NotificationCompat.InboxStyle
,
e NotificationCompat.MessagingStyle
,
consulte o Exemplo de notificação (em inglês)
no GitHub.
Dica: caso suas notificações incluam uma ação "Responder" (como para um app de
mensagens), é possível melhorar o comportamento da notificação. Por exemplo, ative as respostas de entrada de texto por voz
diretamente do wearable ou de respostas de texto predefinidas com
setChoices()
.
Para mais informações, leia
Adicionar o botão de resposta.
Como evitar notificações duplicadas
Por padrão, as notificações são transmitidas de um aplicativo para smartphones associados para qualquer smartwatch pareado. Essa é uma ótima opção se você não tiver um app para wearables instalado.
No entanto, se você criar um app para smartwatch independente e tiver um aplicativo para smartphones associados, eles vão criar notificações duplicadas.
O Wear OS oferece uma maneira de interromper as notificações duplicadas com as APIs Bridging. Para mais informações, leia Modo bridge para notificações no Wear.
Adicionar recursos específicos de wearable a uma notificação
Se você precisar adicionar recursos específicos do wearable a uma notificação, como ocultar
um ícone de app da notificação wearable ou permitir que os usuários ditem uma resposta
com entrada de texto por voz, use a
classe
NotificationCompat.WearableExtender
para especificar as opções.
Para usar essa API, siga as etapas abaixo:
-
Crie uma instância de um
WearableExtender
, definindo as opções específicas de wearable para a notificação. -
Crie uma instância de
NotificationCompat.Builder
, definindo as propriedades desejadas para a notificação conforme descrito anteriormente nesta lição. -
Chame
extend()
na notificação e transmita oWearableExtender
. Isso aplica as opções de wearable à notificação. -
Chame
build()
para criar a notificação.
Observação:
se você usar o NotificationManager
do framework,
alguns recursos do
NotificationCompat.WearableExtender
não vão funcionar. Use
NotificationCompat
.
É possível sincronizar as dispensas (os cancelamentos) de notificações nos dispositivos do usuário. Para
sincronizar um método de dispensa
setDismissalId()
. Para cada notificação, transmita um ID
globalmente exclusivo, como uma string, quando você chamar o
método setDismissalId()
. Quando a notificação é dispensada, todas as outras
notificações com o mesmo ID são dispensadas nos smartwatches e no
telefone associado. Para acessar um ID de dispensa, use
getDismissalId()
.
Especificar ações exclusivas de wearable
Para conferir ações diferentes disponíveis no smartwatch e no smartphone, use
WearableExtender.addAction()
. Depois de adicionar uma ação com esse método,
o wearable não vai mostrar outras ações adicionadas com
NotificationCompat.Builder.addAction()
. As ações adicionadas com
WearableExtender.addAction()
aparecem somente no wearable e não
no smartphone.