
Adamya Sharma / Autoridade Android
DR;TL
- O Google está desenvolvendo uma nova ferramenta Seletor de contatos para Android 17 para corrigir a atual permissão de contatos do tipo tudo ou nada.
- Esta ferramenta permitirá que você compartilhe contatos específicos com um aplicativo, em vez de toda a sua lista de contatos.
- O acesso será instantâneo e os aplicativos poderão solicitar apenas os campos de dados específicos de que precisam.
A lista de contatos do seu dispositivo contém um tesouro de dados confidenciais que muitos aplicativos desejam obter. Felizmente, o sistema de permissões do Android impede que aplicativos acessem seus contatos sem o seu conhecimento. Infelizmente, é um sistema de tudo ou nada: você concede a um aplicativo acesso a todos os seus contatos ou a nenhum deles. Isso é altamente problemático porque força você a conceder acesso total aos seus contatos a muitos aplicativos, mesmo que eles não precisem disso. A atualização do Android 17 do próximo ano pode resolver esse problema, introduzindo uma ferramenta de seleção de contatos do sistema que permite selecionar contatos específicos para compartilhar com um aplicativo, em vez de dar acesso a toda a sua lista de contatos.
Como os aplicativos Android leem atualmente os contatos do seu dispositivo
Cada telefone Android possui um banco de dados local e centralizado de contatos. O sistema operacional protege o acesso a esse banco de dados para evitar que os aplicativos o leiam diretamente. Em vez disso, os aplicativos devem interagir com o Provedor de Contatos, um componente do sistema que fornece APIs para recuperar ou modificar informações no banco de dados de contatos. Para usar essas APIs, os aplicativos devem conter o READ_CONTACTS permissão para ler dados e o WRITE_CONTACTS permissão para escrevê-lo.
O problema dessa abordagem, como mencionei, é que é tudo ou nada. Um aplicativo obtém acesso total de leitura ou gravação a toda a sua lista de contatos ou não obtém acesso algum. Embora os aplicativos de mensagens e mídias sociais possam ter uma necessidade legítima de ver todos os seus contatos, muitos outros aplicativos só precisam acessar um, dois ou apenas alguns. No entanto, devido à forma como o Android gerencia atualmente o acesso aos contatos, esses aplicativos não têm escolha a não ser solicitar permissões amplas.

Mishaal Rahman / Autoridade Android
Embora o modelo de permissão seja o método mais comum, tecnicamente existe outra maneira de um aplicativo acessar os contatos. Em vez de interagir diretamente com o Provedor de Contatos, um aplicativo pode usar um intermediário – o aplicativo de contatos padrão do sistema – para ler informações sobre um contato. Como o aplicativo de contatos já tem acesso total ao banco de dados de contatos, ele pode recuperar essas informações com segurança em nome de outros aplicativos sem exigir um novo prompt de permissão.
No entanto, esta abordagem está repleta de falhas. Primeiro, não existe um aplicativo de contatos unificado em todos os dispositivos Android. Embora o Google forneça um aplicativo de referência no Android Open Source Project (AOSP), a maioria dos fabricantes cria o seu próprio (como a Samsung) ou usa o aplicativo Contatos do Google. Essa fragmentação significa que a experiência de seleção de contatos pode ser inconsistente, criando complicações para os desenvolvedores.
Em segundo lugar, este método só permite que um aplicativo escolha um único contato por vez. Se um aplicativo precisar de mais de um, ele terá que perguntar repetidamente ao usuário, o que é uma experiência frustrante. Terceiro, não há como limitar quais informações sobre um contato serão compartilhadas. Por fim, a API subjacente tem problemas, com muitos desenvolvedores descobrindo que precisam solicitar a ampla READ_CONTACTS permissão de qualquer maneira para evitar problemas.

Mishaal Rahman / Autoridade Android
Essas deficiências são provavelmente o motivo pelo qual o Google está desenvolvendo uma nova ferramenta de seleção de contatos do sistema para Android 17. Essa mudança seguiria uma mudança semelhante que a Apple introduziu no iOS no ano passado.
Não quero perder o melhor de Autoridade Android?


Como o Google melhorará a privacidade com o Seletor de Contatos do Android 17
O Google está desenvolvendo um novo aplicativo dedicado “Seletor de contatos”, como descobri na versão mais recente do Android Canary. Este aplicativo fornece uma maneira nova de preservar a privacidade para outros aplicativos selecionarem contatos, semelhante à forma como o Photo Picker do Android funciona para seleção de mídia. Nos bastidores, o novo Seletor de Contatos está registrado para lidar com a solicitação padrão do sistema para seleção de contatos (ACTION_PICK com o vnd.android.cursor.dir/contact, phone_v2, email_v2 Tipos MIME), mas está configurado com uma prioridade mais alta (101) para garantir que ele tenha precedência sobre o aplicativo de contatos padrão do dispositivo.

Mishaal Rahman / Autoridade Android
As strings no aplicativo Seletor de contatos revelam que você poderá selecionar um ou mais contatos para compartilhar com um aplicativo por vez. O aplicativo terá então acesso a todas as informações disponíveis para os contatos selecionados, como endereço, data de nascimento, e-mail e nome. Crucialmente, este acesso parece ser um instantâneo único. O aplicativo não receberá nenhuma atualização subsequente nas informações de um contato, protegendo ainda mais sua privacidade ao impedir que os aplicativos rastreiem alterações ao longo do tempo.
Código
%1$s will only have access to info from the contacts you select
When you select a contact, %1$s will have access to the following info from your device contacts.\n\nIf you make any updates to the contact info, %1$s won’t have access to the changes.
Contact info can include details such as:
O novo código no sistema operacional revela informações adicionais sobre como o sistema Seletor de contatos funcionará. O ContactsPickerSessionContract class mostra que o Android 17 está adicionando uma nova ação de Intent dedicada chamada ACTION_PICK_CONTACTS. Isso dará aos aplicativos a capacidade de invocar diretamente o novo Seletor de Contatos.
Mais importante ainda, esta nova ação inclui extras de Intenção que permitirão que os aplicativos sejam muito mais específicos

Mishaal Rahman / Autoridade Android
- Limite quantos contatos o usuário pode selecionar de uma vez usando
EXTRA_PICK_CONTACTS_SELECTION_LIMIT. - Especifique quais campos de dados específicos eles precisam (por exemplo, apenas números de telefone) usando
EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS.
Isso dá aos desenvolvedores uma maneira granular de solicitar acesso apenas aos dados necessários de um ou mais contatos, uma melhoria significativa para a privacidade do usuário.
O novo Seletor de Contatos é claramente um trabalho em andamento. No seu estado actual, ainda não consegue lidar com o novo ACTION_PICK_CONTACTS Intenção. Também sabemos que ainda não está ativo, pois o recurso está oculto atrás de um sinalizador desativado na versão mais recente do Canary.
O Google provavelmente está visando o Android 17 para a estreia desse recurso, uma vez que introduz uma nova API e altera uma intenção comum que muitos aplicativos usam. Isso é compatível com o código do aplicativo Seletor de contatos que verifica a versão SDK do aplicativo de chamada. Para aplicativos desenvolvidos para Android 17 e posteriores, o novo Seletor de contatos cuidará da solicitação; para aplicativos mais antigos, a solicitação será encaminhada para o aplicativo de contatos padrão do dispositivo para manter a compatibilidade.
No entanto, esta nova abordagem tem um grande obstáculo: é opcional. De qualquer forma, nada impedirá os desenvolvedores de continuarem a solicitar acesso amplo aos seus contatos. Para que esse recurso faça uma diferença real, os aplicativos devem ser atualizados para usar o novo Seletor de Contatos. Embora alguns desenvolvedores preocupados com a privacidade o adotem rapidamente, muitos não o farão.
Para impulsionar a adoção generalizada, o Google provavelmente precisará seguir o mesmo manual usado para o Photo Picker. Isso envolveria o backport do recurso para versões mais antigas do Android, fornecendo suporte por meio de sua biblioteca AndroidX e, eventualmente, reforçando seu uso por meio das políticas do Google Play. Se o Google tomar essas medidas, o Seletor de Contatos poderá se tornar uma conquista significativa de privacidade para todos os usuários do Android.
Obrigado por fazer parte da nossa comunidade. Leia nossa Política de Comentários antes de postar.
