O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Perfis de dispositivos complementares

O perfil de 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. Usar um perfil de dispositivo complementar simplifica o processo de inscrição, permitindo que os aplicativos exibam um único prompt aos usuários em seus dispositivos móveis para solicitar um conjunto definido de permissões em vez de vários prompts solicitando permissões individualmente. Isso pode permitir uma experiência de configuração mais simplificada e melhores taxas de aceitação para aplicativos complementares.

O uso de perfis de dispositivos complementares estão disponíveis apenas para fabricantes de dispositivos que possuem dispositivos complementares. Para dispositivos de companhia para ter acesso ao recurso, eles devem atender os requisitos e ser aprovado.

Os seguintes tipos de perfis de dispositivos companheiro estão disponíveis no Android 12: COMPANION_DEVICE_WATCH .

Para mais informações sobre dispositivos de companhia, ver emparelhamento dispositivo Companion .

Comportamento do dispositivo

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

Quando um usuário aceita o pedido de um aplicativo para criar uma associação com um dispositivo companheiro, o CompanionDeviceManager (MDL) espera de serviço para o dispositivo complementar para se conectar, e quando ele se conecta, o MDL atribui o papel perfil de dispositivo (por exemplo, relógio) para o aplicativo complementar, concedendo todas as permissões definidas para esse papel de perfil especificado. A Figura 1 mostra um exemplo de uma aplicação para o requerente permissões COMPANION_DEVICE_WATCH perfil do dispositivo.

Assistir ao prompt da caixa de diálogo do perfil do dispositivo

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

Quando a associação entre um aplicativo e o dispositivo complementar é removida, por exemplo, quando os dados de um pacote são apagados ou quando um dispositivo é esquecido, o CDM revoga a função de perfil de dispositivo para o aplicativo, o que remove todas as permissões definidas para a função de perfil do aplicativo.

Depois que um usuário aceita a solicitação de um aplicativo para conceder permissões para um perfil de dispositivo específico, o usuário pode 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 é necessária para o aplicativo para funcionar, o aplicativo deve solicitar a permissão através de uma normal de solicitação de permissão .

Requisitos

Para que um aplicativo complementar obtenha acesso à API de perfil de dispositivo complementar, o aplicativo deve atender aos seguintes requisitos:

  • Tenha um dispositivo complementar (por exemplo, um smartwatch).
  • Ter um motivo legítimo para exigir as permissões definidas para o perfil do dispositivo complementar.

Ver requisitos de perfil de dispositivo complementar

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

Permissões Requisitos de aplicativo e dispositivo complementares
Notificações

BIND_NOTIFICATION_LISTENER_SERVICE
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Possui uma tela capaz de exibir notificações (os dispositivos que usam tátil em vez de uma tela são excluídos)
  • Fornece uma experiência de notificação voltada para o usuário, por exemplo, exibindo notificações de telefone na tela do dispositivo complementar
Telefone

phone
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Possui um microfone e alto-falante embutidos que permitem conversas por voz
  • Tem uma tela que exibe as informações do chamador
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o aplicativo complementar liga as chamadas)
SMS

sms
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Possui uma tela que exibe mensagens SMS
  • Fornece uma experiência de SMS voltada para o usuário
Contatos

contacts
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Tem uma tela de exibição
  • Usa informações de contato como parte da experiência de chamada ou mensagem
Calendário

calendar
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Tem uma tela de exibição
  • Fornece uma experiência de agenda voltada para o usuário no relógio
Dispositivos próximos

nearby_devices
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Tem uma tela de exibição
  • Fornece uma experiência de emparelhamento / conexão voltada para o usuário no relógio
provisionamento eSIM

USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Tem uma tela de exibição
  • Fornece uma experiência voltada para o usuário que gerencia os serviços do assinante da operadora do relógio
Gerenciando chamadas em andamento

MANAGE_ONGOING_CALLS
  • Ser um dispositivo conectado usando Bluetooth e / ou Wi-Fi
  • Possui um microfone e alto-falante embutidos que permitem conversas por voz
  • Tem uma tela que exibe as informações do chamador
  • Fornece uma experiência de chamada telefônica voltada para o usuário (o aplicativo complementar liga as chamadas)

Obtendo acesso

Para que os aplicativos tenham acesso a perfis de dispositivos complementares, eles devem ser aprovados e adicionados a uma lista de permissões. Quando um pedido para ser adicionado ao allowlist é recebido, a equipe do Android analisa o aplicativo para certificar-se de que cumpre os requisitos para o perfil do dispositivo companheiro correspondente.

Implementação

Para fabricantes de dispositivos que implementam um aplicativo complementar com um dispositivo específico, use as seguintes configurações de sistema Android necessárias para certificar o aplicativo complementar, o que permite que o aplicativo ignore a exibição do prompt do CDM 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 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_COMAPNION_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. Use AssociationRequest para fazer um pedido de associação a um único dispositivo companheiro.

Para os desenvolvedores de terceiros execução um aplicativo companheiro que solicita a DEVICE_PROFILE_WATCH perfil, faça o seguinte:

  1. Chame o setDeviceProfile método.
  2. Passe no DEVICE_PROFILE_WATCH perfil na construção AssociationRequest .

Validação

Para testar o comportamento do recurso de perfil de dispositivo complementar, use os seguintes testes CTS: