Visibilidade do pacote no Android 11

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:

  1. Instale o Android Studio 3.6.1 ou uma versão mais recente.
  2. Instale a versão mais recente do Gradle compatível com o Android Studio.
  3. Defina a targetSdkVersion do app como 30.
  4. Não inclua o elemento <queries> no arquivo de manifesto do app.
  5. Chame getInstalledApplications() ou getInstalledPackages(). Os dois métodos retornarão uma lista filtrada.
  6. Veja quais recursos do app não estão funcionando.
  7. Introduza as entradas apropriadas <queries> para corrigir esses recursos.