Quando um app é direcionado ao 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. Esse comportamento significa que o app não detecta todos os apps instalados em um dispositivo, o que ajuda a minimizar as informações possivelmente sensíveis que o app pode acessar, mas não precisa para atender aos casos de uso.
Além disso, a visibilidade dos pacotes filtrados ajuda as app stores, como o Google Play, a avaliar a privacidade e 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 retornados por 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 ficam visíveis
automaticamente. Seu app pode sempre
ver esses pacotes nas consultas a 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 mostra exemplos de como você
pode ampliar a visibilidade de pacotes de maneira seletiva. Os fluxos de trabalho descritos aqui permitem
que você atenda a cenários comuns de interação com o app e protegem a privacidade do usuário.
Nos raros casos em que o elemento <queries>
não fornece visibilidade de pacotes
adequada, você pode usar a permissão QUERY_ALL_PACKAGES
. Se você publicar o
app no Google Play, o uso dessa permissão pelo app vai estar
sujeito a aprovação.
A página sobre como testar o comportamento da visibilidade de pacotes oferece sugestões de como testar mudanças de comportamento com base na visibilidade de pacotes quando o app depende de interações com outros apps.
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.