Filtragem da visibilidade de pacotes no Android

Quando um app segmenta o Android 11 (API de nível 30) ou mais recente e consulta informações sobre os outros apps instalados em um dispositivo, o sistema filtra essas informações por padrão. A visibilidade limitada de pacotes reduz a quantidade de apps que parecem estar instalados em um dispositivo pela perspectiva do seu app.

Esse comportamento de filtragem ajuda a minimizar a quantidade de informações potencialmente confidenciais que seu app não precisaria para atender aos casos de uso, mas que ainda poderiam ser acessadas. Além disso, a visibilidade dos pacotes filtrados ajuda as lojas de apps como o Google Play a avaliar a privacidade e a segurança oferecidas pelo app aos usuários. Por exemplo, o Google Play considera a lista de apps instalados como dados pessoais e confidenciais do usuário.

A visibilidade limitada do app afeta os resultados de retorno dos métodos que fornecem informações sobre outros apps, como queryIntentActivities(), getPackageInfo() e getInstalledApplications(). A visibilidade limitada também afeta as interações explícitas com outros apps, como iniciar o serviço de outro app.

Alguns pacotes ainda ficam visíveis automaticamente. Seu app pode sempre ver esses pacotes nas consultas para outros apps instalados. Para ver outros pacotes, declare a necessidade do app de aumentar a visibilidade de pacotes usando o elemento <queries>. A página de casos de uso fornece exemplos de cenários comuns de interação com o app.

Nos raros casos em que o elemento <queries> não fornece visibilidade de pacote adequada, você pode usar a permissão QUERY_ALL_PACKAGES. Se você publicar seu app no Google Play, o uso desta permissão estará sujeito à aprovação com base em uma política futura.

Outros recursos

Para saber mais sobre a visibilidade de pacotes no Android, veja os seguintes materiais:

Postagens do blog