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
- Visibilidade de pacotes no Android 11, disponível no Medium.