O perfil do dispositivo complementar, introduzido no Android 12, é 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. O uso de um perfil de dispositivo complementar simplifica o processo de registro, permitindo que os aplicativos exibam um único aviso aos usuários em seus 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 aceitação para aplicativos complementares.
Para usar perfis de dispositivos complementares, os aplicativos complementares devem atender aos seguintes requisitos:
- Gerencie um dispositivo complementar (por exemplo, um smartwatch).
- Tenha recursos de aplicativos ou chame APIs do 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 obter mais informações sobre as permissões e a função Android correspondente de cada perfil, consulte Perfis de dispositivos complementares para aplicativos de terceiros .
Para obter mais informações sobre dispositivos complementares, consulte Emparelhamento 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 aplicativo para criar uma associação com um dispositivo complementar, o serviço CompanionDeviceManager
(CDM) atribui a função de perfil do dispositivo (por exemplo, assistir) ao aplicativo complementar, concedendo todas as permissões definidas para essa função de perfil especificada. A Figura 1 mostra um exemplo de aplicativo solicitando permissões para o perfil de dispositivo COMPANION_DEVICE_WATCH
.
Figura 1. Caixa de diálogo solicitando permissões para o perfil do dispositivo monitorado.
Quando um usuário limpa os dados do pacote em Configurações ou remove todos os dispositivos no aplicativo complementar, o CDM revoga o perfil enquanto o aplicativo não estiver sendo executado em primeiro plano nem tiver um serviço em primeiro plano em execução. A revogação do perfil também revoga todas as permissões definidas para o perfil.
Depois que um usuário aceitar a solicitação de um aplicativo para conceder permissões para um perfil de dispositivo específico, o usuário poderá revogar as permissões individuais que foram concedidas. Quando uma permissão é revogada por um usuário, o aplicativo permanece associado ao dispositivo complementar, mas alguns recursos podem ficar indisponíveis. Se a permissão for necessária para o funcionamento do aplicativo, o aplicativo deverá solicitá-la por meio de uma solicitação de permissão normal .
Perfis de dispositivos complementares para aplicativos de terceiros
Assistir perfil
O perfil do relógio é introduzido 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 do aplicativo complementar e do dispositivo |
---|---|
NotificaçõesBIND_NOTIFICATION_LISTENER_SERVICE |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Perfil de óculos
O perfil Óculos é introduzido 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á-los.
Permissões | Requisitos do aplicativo complementar e do dispositivo |
---|---|
NotificaçõesBIND_NOTIFICATION_LISTENER_SERVICE POST_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:
Chame o método
setDeviceProfile
.Passe um perfil (por exemplo,
DEVICE_PROFILE_WATCH
ao criarAssociationRequest
.
Fabricantes de dispositivos devem ignorar a exibição da caixa de diálogo de consentimento do usuário
Para fabricantes de dispositivos que implementam um aplicativo complementar com um dispositivo específico, use as seguintes configurações obrigatórias do sistema Android para certificar o aplicativo complementar, o que permite que o aplicativo ignore a exibição da caixa de diálogo de consentimento do usuário para os usuários.
Recupere o certificado usando o seguinte comando:
keytool -printcert -jarfile PATH/TO/APK
Substitua o nome do pacote e o certificado conforme mostrado no exemplo de entrada a seguir 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 CTS em cts/tests/tests/companion/
.