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.
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) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
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çõ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 a
DEVICE_PROFILE_WATCH
, faça o seguinte:
Chamando o método
setDeviceProfile
.Transmita um perfil (por exemplo,
DEVICE_PROFILE_WATCH
ao criarAssociationRequest
Os fabricantes de dispositivos pulam 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 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.
Recupere o certificado usando o seguinte comando:
keytool -printcert -jarfile PATH/TO/APK
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>
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/