Filtragem da visibilidade de pacotes no Android

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