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

IDs de dispositivos imutáveis

No Android 6 e superior, os provedores de serviços de Wi-Fi e analisadores de pacotes foram impedidos de recuperar o endereço MAC de fábrica de um dispositivo através da pilha de Wi-Fi a partir de solicitações de rede. A partir do Android 10, restrições adicionais estão em vigor que limitam o acesso a identificadores de dispositivo (IDs) para aplicativos com o nível de permissão privilegiado . Isso protege IDs de dispositivos, como

  • números de telefonia IMEI, MEID, ESN e IMSI.
  • construir, SIM ou números de série USB.

Quem pode acessar IDs de dispositivos

Os IDs de dispositivo são restritos em todos os dispositivos Android 10, mesmo se os aplicativos forem direcionados ao Android 9 ou inferior. IDs de dispositivos podem ser acessados ​​por

Acesso a pacotes privilegiados

Um pacote deve ter privilégios para acessar IDs de dispositivos. Ele deve ter permissão READ_PRIVILEGED_PHONE_STATE na classe Manifest.permission e estar na lista privapp-permission.xml arquivo privapp-permission.xml . Para obter informações sobre o processo de lista de permissões, consulte Lista de permissão de permissão privilegiada .

Para obter informações sobre como obter um ID exclusivo para um pacote não privilegiado , consulte Casos de uso comuns e o identificador apropriado a ser usado .

IDs de dispositivos restritos e endereços MAC aleatórios

Para restringir ainda mais os IDs de dispositivos, todos os dispositivos no Android 10 transmitem endereços MAC aleatórios por padrão para as solicitações de sondagem e associadas e devem ter um endereço MAC aleatório diferente para cada SSID. Não use o endereço MAC de fábrica do dispositivo no modo cliente, ponto de acesso suave (AP) ou casos de uso de Wi-Fi Direct. Ele deve permanecer oculto de APIs acessíveis ao público que não sejam aplicativos privilegiados. Os aplicativos privilegiados que requerem o retorno do endereço MAC de fábrica devem ter permissão LOCAL_MAC_ADDRESS .

Os usuários têm a opção de manter o endereço MAC aleatório padrão atribuído a cada SSID. A opção pode ser visualizada em Privacidade em Configurações > Detalhes da rede . Para saber como obter um endereço MAC aleatório, consulte Endereços MAC aleatórios .

Screen shows if device ID uses a randomized MAC address for privacy
Figura 1. O endereço MAC é mostrado aleatoriamente em Detalhes de privacidade da rede

Aplicativos que invocam APIs de ID de dispositivo

Os aplicativos que invocam APIs de ID de dispositivo devem atender aos requisitos do Android 10. Caso contrário, quando eles tentam acessar IDs de dispositivo, o seguinte é retornado:

  • Aplicativos direcionados ao Android 10
  • Aplicativos direcionados ao Android 9 ou anterior
    • Se eles tiverem a permissão READ_PHONE_STATE , uma resposta null ou dados de espaço reservado serão retornados.
    • Do contrário, as APIs de ID do dispositivo lançam uma SecurityException que contém o nome do método chamado e uma indicação de que o aplicativo de chamada não atende aos requisitos para acessar o ID solicitado.

Para obter mais informações sobre IDs de dispositivos imutáveis, consulte Identificadores de dispositivos não reconfiguráveis e práticas recomendadas para identificadores exclusivos .

Testando

Os aplicativos devem ser impedidos de acessar o número de série do dispositivo e, quando aplicável, IMEI / MEID, número de série do SIM e ID do assinante. Os aplicativos com permissão para acessar esses IDs também devem atender a um dos critérios listados em Quem pode acessar os IDs do dispositivo .