Fornecer atividades de configuração no Wear OS

Alguns mostradores de relógio oferecem suporte a parâmetros de configurações que permitem que os usuários personalizem a aparência e o comportamento do mostrador. Por exemplo, alguns mostradores permitem que o usuário escolha uma cor de fundo personalizada e mostradores que informam o horário para dois fusos diferentes podem permitir que o usuário selecione seus fusos preferidos.

Mostradores de relógio que oferecem suporte a parâmetros de configuração que permitem que os usuários personalizem o mostrador usando uma atividade no aplicativo do wearable, uma atividade no aplicativo do telefone, ou ambas. Os usuários podem iniciar a atividade de configuração do wearable no dispositivo wearable. Eles também podem iniciar a atividade de configuração complementar pelo aplicativo do telefone, se ele tiver sido instalado.

Observação: No Wear 1.x, quando o usuário instala um aplicativo para telefone que contém um aplicativo de wearable, o aplicativo de wearable é automaticamente instalado no relógio. No Wear 2.0, um aplicativo de wearable nunca é automaticamente instalado no relógio. Além disso, no Wear 2.0, não é necessário ter um aplicativo para telefone. Se um existir e você quiser usá-lo, ele deverá ser instalado separadamente.

O mostrador do relógio digital do exemplo WatchFace demonstra como implementar atividades de configuração de wearable e telefone e como atualizar um mostrador de relógio em resposta a alterações de configuração.

Especificar um intent para atividades de configuração

Se o mostrador do relógio incluir atividades de configuração, adicione as seguintes entradas de metadados na declaração de serviço no arquivo de manifesto do aplicativo para wearable:

<service
    android:name=".DigitalWatchFaceService" ... />
    <!-- companion configuration activity -->
    <meta-data
        android:name=
           "com.google.android.wearable.watchface.companionConfigurationAction"
        android:value=
           "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
    <!-- wearable configuration activity -->
    <meta-data
        android:name=
           "com.google.android.wearable.watchface.wearableConfigurationAction"
        android:value=
           "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
    ...
</service>

Forneça valores para essas entradas que são precedidas pelo nome do pacote do seu aplicativo. Atividades de configuração registram filtros de intent para esse intent, e o sistema aciona esse intent quando os usuários desejam configurar o mostrador do relógio.

Se seu mostrador do relógio incluir apenas uma atividade de configuração de complemento ou wearable, basta incluir a entrada de metadados correspondente do exemplo acima.

Criar uma atividade de configuração de wearable

Atividades de configuração de wearable oferecem um conjunto limitado de opções de personalização para um mostrador do relógio, pois menus complexos são difíceis de navegar em telas menores. Sua atividade de configuração de wearable deve fornecer opções binárias e apenas algumas seleções para personalizar os aspectos principais do mostrador do relógio.

Para criar uma atividade de configuração de wearable, adicione uma nova atividade ao módulo do aplicativo para wearable e declare o filtro de intent a seguir no arquivo de manifesto do aplicativo para wearable:

<activity
    android:name=".DigitalWatchFaceWearableConfigActivity"
    android:label="@string/digital_config_name">
    <intent-filter>
        <action android:name=
            "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
        <category android:name=
        "com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

O nome da ação nesse filtro de intent deve corresponder ao nome do intent definido em Especificar um Intent para atividades de configuração.

Em sua atividade de configuração, compile uma IU simples que fornece seleções para que os usuários personalizem o mostrador do relógio. Quando os usuários fizerem uma seleção, use a Wearable Data Layer API para comunicar a mudança de configuração para a atividade do mostrador do relógio.

Para obter mais detalhes, consulte as classes DigitalWatchFaceWearableConfigActivity e DigitalWatchFaceUtil no exemplo WatchFace.

Criar uma atividade de configuração de complemento

Atividades de configuração de complemento oferecem aos usuários um conjunto completo de opções de configuração para o mostrador do relógio, pois é mais fácil interagir com menus complexos na tela maior de um telefone. Por exemplo, uma atividade de configuração em um telefone permite que você apresente aos usuários seletores de cor elaborados para selecionar a cor de fundo de um mostrador do relógio.

Observação: Atividades de configuração só podem ser gravadas para telefones Android.

Para criar uma atividade de configuração de complemento, adicione uma nova atividade ao módulo do aplicativo para telefone e declare o filtro de intent a seguir no arquivo de manifesto do aplicativo para telefone:

<activity
    android:name=".DigitalWatchFaceCompanionConfigActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name=
            "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
        <category android:name=
        "com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

Na sua atividade de configuração, compile uma IU que forneça opções para personalizar todos os elementos configuráveis do mostrador do relógio. Quando os usuários fizerem uma seleção, use a Wearable Data Layer API para comunicar a mudança de configuração para a atividade do mostrador do relógio.

Para obter mais detalhes, consulte a classe DigitalWatchFaceCompanionConfigActivity no exemplo WatchFace.

Criar um serviço de ouvinte no aplicativo para wearable

Para receber parâmetros de configuração atualizados das atividades de configuração, crie um serviço que implemente a interface WearableListenerService pela Wearable Data Layer API no seu aplicativo para wearable. Sua implementação de mostrador do relógio pode redesenhar o mostrador quando os parâmetros de configuração forem alterados.

Para obter mais detalhes, consulte as classes DigitalWatchFaceConfigListenerService e DigitalWatchFaceService no exemplo WatchFace.