O perfil de dispositivo complementar, lançado no Android 12, é um recurso que permite que apps complementares solicitem um conjunto de permissões específicas para o tipo de dispositivo complementar, por exemplo, um smartwatch. Usar um perfil de dispositivo complementar simplifica o processo de inscrição, permitindo que os apps mostrem um único aviso aos usuários nos dispositivos móveis para solicitar um conjunto definido de permissões em vez de vários avisos solicitando permissões individualmente. Isso pode permitir uma experiência de configuração mais simplificada e melhores taxas de ativaçã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 de app ou chamar APIs Android que exigem todas as 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 o papel correspondente do Android de cada perfil, consulte perfis de dispositivos complementares para apps de terceiros.
Para mais informações sobre dispositivos complementares, consulte Pareamento de dispositivo complementar.
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 dispositivo
complementar, o serviço
CompanionDeviceManager
(CDM) atribui a função de perfil do dispositivo (por exemplo, relógio) ao app
complementar, concedendo todas as permissões definidas para essa função de perfil especificada.
A Figura 1 mostra um exemplo de app solicitando permissões para o
perfil do dispositivo
COMPANION_DEVICE_WATCH
.
Figura 1. Caixa de diálogo solicitando permissões para o perfil do dispositivo relógio.
Quando um usuário limpa os dados do pacote nas configurações ou remove todos os dispositivos no app complementar, a CDM revoga o perfil enquanto o app não está em execução em primeiro plano nem tem um serviço em primeiro plano em execução. A revogação do perfil também revoga todas as permissões definidas para ele.
Depois que um usuário aceita o pedido de um app para conceder permissões a um perfil de dispositivo específico, ele pode revogar permissões individuais concedidas. Quando uma permissão é revogada por um usuário, o app permanece associado ao dispositivo complementar, mas alguns recursos podem ficar indisponíveis. Se a permissão for necessária para o funcionamento do app, ele precisará solicitá-la por uma solicitação de permissão normal.
Perfis de dispositivos complementares para apps de terceiros
Assistir perfil
O perfil de relógio foi lançado no Android 12.
A tabela a seguir descreve as permissões definidas para o perfil de dispositivo COMPANION_DEVICE_WATCH
e os requisitos para usá-las.
Permissões | Requisitos de app e dispositivo complementares |
---|---|
Notificações
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Perfil de óculos
O perfil do Google Glass foi lançado no Android 14.
A tabela a seguir descreve as permissões definidas para o perfil de dispositivo COMPANION_DEVICE_GLASSES
e os requisitos para usá-las.
Permissões | Requisitos de app e dispositivo complementares |
---|---|
NotificaçõesPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implementação
Para desenvolvedores terceirizados que implementam um app complementar que solicita o
perfil
DEVICE_PROFILE_WATCH
, faça o seguinte:
Chamando o método
setDeviceProfile
.Transmita um perfil (por exemplo,
DEVICE_PROFILE_WATCH
ao criarAssociationRequest
.
Fabricantes de dispositivos para pular a exibição da caixa de diálogo de consentimento do usuário
Para fabricantes de dispositivos que implementam um app complementar com um dispositivo específico, use as seguintes configurações obrigatórias do sistema Android para certificar o app complementar, que permite que ele pule a exibição da caixa de diálogo de consentimento do usuário.
Recupere o certificado usando o seguinte comando:
keytool -printcert -jarfile PATH/TO/APK
Substitua o nome do pacote e o certificado, conforme mostrado na seguinte entrada de amostra 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>
Use
AssociationRequest
para fazer uma solicitação de associação a um único dispositivo complementar.
Validação
Para testar o comportamento do recurso de perfil de dispositivo complementar, use os testes do CTS em cts/tests/tests/companion/
.