Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Disponibilizar atividades de configuração no Wear OS

Alguns mostradores de relógio são compatíveis com parâmetros de configuração que permitem que o usuário personalize a aparência e o comportamento do mostrador. Por exemplo, alguns mostradores permitem que o usuário escolha uma cor de fundo personalizada. Além disso, com mostradores que informam a hora de dois fusos diferentes, o usuário pode selecionar os fusos horários que prefere.

Mostradores de relógio compatíveis com parâmetros de configuração podem permitir que o usuário personalize o mostrador usando uma atividade no app do wearable, uma atividade no app do dispositivo portátil ou ambas. O usuário pode iniciar a atividade de configuração do wearable no dispositivo wearable. Ele também pode iniciar a atividade de configuração complementar no app do dispositivo portátil, se tiver sido instalado.

Observação: no Wear 1.x, quando o usuário instala um app para dispositivo portátil que contém um app de wearable, esse último é automaticamente instalado no relógio. No Wear 2.0, um app de wearable nunca é automaticamente instalado no relógio. Além disso, no Wear 2.0, não é necessário ter um app para dispositivo portátil. Se houver um disponível e você quiser usá-lo, ele precisará ser instalado separadamente.

O mostrador do relógio digital do exemplo WatchFace demonstra como implementar atividades de configuração de wearable e de dispositivo portátil 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 à declaração de serviço no arquivo de manifesto do app de 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>
    

Informe valores para essas entradas que são precedidas pelo nome do pacote do seu app. Atividades de configuração registram filtros para esse intent, e o sistema o aciona quando o usuário quer configurar o mostrador do relógio.

Se seu mostrador do relógio inclui apenas uma atividade de configuração de complemento ou de 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, uma vez que é difícil navegar em menus complexos em telas menores. Sua atividade de configuração de wearable deve disponibilizar opções binárias e apenas algumas seleções para personalizar os principais aspectos do mostrador do relógio.

Para criar uma atividade de configuração de wearable, adicione uma nova atividade ao módulo do app de wearable e declare o filtro de intent a seguir no arquivo de manifesto do app de 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.

Na sua atividade de configuração, compile uma IU simples que forneça opções para que o usuário personalize o mostrador do relógio. Quando o usuário fizer uma seleção, use a API Wearable Data Layer para comunicar a mudança de configuração para a atividade do mostrador do relógio.

Para 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 ao usuário um conjunto completo de opções de configuração para o mostrador do relógio, uma vez que é mais fácil interagir com menus complexos na tela maior de um dispositivo portátil. Por exemplo, uma atividade de configuração em um dispositivo portátil permite que você ofereça ao usuário seletores de cores elaborados para escolher a cor de fundo de um mostrador do relógio.

Observação: atividades de configuração só podem ser gravadas para dispositivos portáteis Android.

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

    <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 o usuário fizer uma seleção, use a API Wearable Data Layer para comunicar a mudança de configuração para a atividade do mostrador do relógio.

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

Criar um serviço de listener no app de wearable

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

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