Perfis de dispositivos complementares

O perfil de dispositivo complementar, lançado no Android 12, está um recurso que permite que aplicativos complementares solicitem um conjunto de permissões específicas para o tipo de dispositivo complementar, por exemplo, um smartwatch. Como usar um companion o perfil do dispositivo simplifica o processo de registro, permitindo que os apps exibam um um único comando aos usuários em dispositivos móveis para solicitar um conjunto definido de permissões em vez de vários comandos solicitando permissões individualmente. Isso simplifica a experiência de configuração e melhora as taxas de aceitação. para apps complementares.

Para usar perfis de dispositivos complementares, os apps complementares precisam atender aos seguintes requisitos:

  • Gerenciar um dispositivo complementar (por exemplo, um smartwatch).
  • Ter recursos do app ou chamar APIs do Android que exijam todos os permissões definidas para o perfil do dispositivo complementar.

Cada perfil de dispositivo complementar corresponde a uma função do Android. Para mais informações sobre as permissões e a função correspondente no Android de cada consulte perfis de dispositivos complementares para apps de terceiros.

Para mais informações sobre dispositivos complementares, consulte Pareamento de dispositivos complementares.

Comportamento do dispositivo

Esta seção descreve o comportamento do dispositivo quando perfis de dispositivos complementares são usados.

Quando um usuário aceita a solicitação de um app para criar uma associação com um complementar dispositivo, os CompanionDeviceManager (CDM) atribui a função de perfil do dispositivo (por exemplo, relógio) ao companheiro concedendo todas as permissões definidas para o papel de perfil especificado. A Figura 1 mostra um exemplo de um app solicitando permissões para o COMPANION_DEVICE_WATCH do dispositivo.

Solicitação da caixa de diálogo do perfil do dispositivo do relógio

Figura 1. Caixa de diálogo solicitando permissões para o perfil do dispositivo do relógio.

Quando um usuário limpa os dados do pacote nas Configurações ou remove todos dispositivos no app complementar, o CDM revoga o perfil e o O app não está sendo executado em primeiro plano nem em primeiro plano serviço em execução. A revogação do perfil também revoga todos os para o perfil.

Depois que o usuário aceita a solicitação de um aplicativo para conceder permissões a uma determinada perfil do dispositivo, o usuário pode revogar as permissões individuais concedidas. Quando uma permissão é revogada por um usuário, o aplicativo permanece associado ao complementar, mas alguns recursos podem ficar indisponíveis. Se o permissão é necessária para o funcionamento do aplicativo, o aplicativo deve solicitar o permissão por meio de uma permissão solicitação de permissão.

Perfis de dispositivos complementares para apps de terceiros

Perfil do relógio

O perfil do relógio foi lançado no Android 12.

A tabela a seguir descreve as permissões definidas para os COMPANION_DEVICE_WATCH do dispositivo e os requisitos para usá-los.

Permissões Requisitos do dispositivo e app complementar
Notificações

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS (added in Android 15)
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela capaz de exibir notificações (dispositivos que usam retorno tátil em vez de uma tela são excluídos)
  • fornece uma experiência de notificação voltada ao usuário, por exemplo, exibindo notificações do smartphone na tela do dispositivo complementar.
  • Publica notificações do smartphone para o gerenciamento de dispositivos. Por exemplo, quando um relógio está conectado ou quando um recurso específico está ativado.
Phone
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem um microfone e alto-falante integrados para conversas por voz
  • Tem uma tela que mostra informações sobre o autor da ligação
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o app complementar faz a ponte entre chamadas telefônicas)
SMS
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela que exibe mensagens SMS
  • Fornecer uma experiência de SMS voltada ao usuário
Contacts
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Usa dados de contato como parte da experiência de ligações ou mensagens
Calendar
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Oferecer uma experiência de agenda voltada ao usuário no relógio
Nearby devices
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Fornecer uma experiência de pareamento/conexão no relógio voltada ao usuário
eSIM provisioning
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Oferecer uma experiência voltada ao usuário que gerencie os serviços do assinante da operadora no relógio
Managing ongoing calls
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem um microfone e alto-falante integrados para conversas por voz
  • Tem uma tela que mostra informações sobre o autor da ligação
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o app complementar faz a ponte entre chamadas telefônicas)

Perfil dos óculos

O perfil de óculos foi lançado no Android 14.

A tabela a seguir descreve as permissões definidas para os COMPANION_DEVICE_GLASSES do dispositivo e os requisitos para usá-los.

Permissões Requisitos do dispositivo e app complementar
Notificações

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela capaz de exibir notificações (dispositivos que usam retorno tátil em vez de uma tela são excluídos)
  • fornece uma experiência de notificação voltada ao usuário, por exemplo, exibindo notificações do smartphone na tela do dispositivo complementar.
  • Publica notificações no celular para gerenciamento do dispositivo, por exemplo, quando um dispositivo de óculos está conectado ou quando um recurso específico é ativado.
Phone
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem um microfone e alto-falante integrados para conversas por voz
  • Tem uma tela que mostra informações sobre o autor da ligação
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o app complementar faz a ponte entre chamadas telefônicas)
SMS
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela que exibe mensagens SMS
  • Fornecer uma experiência de SMS voltada ao usuário
Contacts
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Usa dados de contato como parte da experiência de ligações ou mensagens
Microphone
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Oferece uma experiência de microfone voltada para o usuário nos óculos
Nearby devices
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem uma tela de display
  • Proporciona uma experiência de pareamento/conexão nos óculos voltada ao usuário
Managing ongoing calls
  • Estar conectado a um dispositivo via Bluetooth e/ou Wi-Fi.
  • Tem um microfone e alto-falante integrados para conversas por voz
  • Tem uma tela que mostra informações sobre o autor da ligação
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o app complementar faz a ponte entre chamadas telefônicas)

Implementação

Para desenvolvedores terceirizados que implementam um app complementar que solicita a DEVICE_PROFILE_WATCH , faça o seguinte:

  1. Chamando o método setDeviceProfile.

  2. Transmita um perfil (por exemplo, DEVICE_PROFILE_WATCH ao criar AssociationRequest

Para fabricantes de dispositivos que implementam um app complementar com um dispositivo Android, use as seguintes configurações obrigatórias do sistema Android para certificar o Aplicativo complementar, que permite ao aplicativo pular a exibição do consentimento do usuário para os usuários.

  1. Recupere o certificado usando o seguinte comando:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Substitua o nome do pacote e o certificado conforme mostrado abaixo exemplo de entrada no arquivo de configuração:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Usar AssociationRequest para fazer uma solicitação de associação a um único dispositivo complementar.

Validação

Para testar o comportamento do recurso de perfil do dispositivo complementar, use o CTS testes em cts/tests/tests/companion/