O Android 11 muda a forma como os apps podem consultar e interagir com outros
apps que o usuário instalou em um dispositivo. Com o elemento <queries>
,
os apps podem definir o conjunto de outros apps que podem acessar. Esse elemento
ajuda a incentivar o princípio de privilégio mínimo informando ao sistema quais
outros pacotes precisam ficar visíveis para seu app, além de ajudar as app stores, como o Google
Play, a avaliar a privacidade e a segurança que ele oferece aos usuários.
Caso o app seja voltado para o Android 11 ou uma versão mais recente, talvez seja necessário adicionar
o elemento <queries>
ao arquivo de manifesto do app. No elemento
<queries>
, é possível especificar pacotes pelo nome, pela assinatura da intent ou pela autoridade
do provedor.
Saiba mais no guia de gerenciamento da visibilidade do pacote de outros apps instalados quando o app for direcionado ao Android 11 ou a versões mais recentes.
Testar a mudança
Para testar se essa mudança de comportamento entrou em vigor no seu app, siga as seguintes etapas:
- Instale o Android Studio 3.6.1 ou uma versão mais recente.
- Instale a versão mais recente do Gradle compatível com o Android Studio.
- Defina a
targetSdkVersion
do app como30
. - Não inclua o elemento
<queries>
no arquivo de manifesto do app. - Chame
getInstalledApplications()
ougetInstalledPackages()
. Os dois métodos retornarão uma lista filtrada. - Veja quais recursos do app não estão funcionando.
- Introduza as entradas apropriadas
<queries>
para corrigir esses recursos.