Caso seu app dependa de interações com outros apps para concluir os casos de uso, é útil testar como a visibilidade do pacote muda no Android 11 (nível 30 da API) e versões mais recentes no seu app.
Este guia também oferece algumas sugestões sobre como testar as mudanças de comportamento e ajuda a configurar mensagens de registro para determinar de forma mais granular como o app pode ser afetado.
Testar as mudanças de comportamento
Para testar se essa mudança de comportamento afeta seu app, siga estas etapas:
- Instale o Android Studio 3.6.1 ou uma versão mais recente.
- Instale a versão mais recente do Gradle com suporte do Android Studio.
- Defina a
targetSdkVersion
do app como30
ou mais recente. - Não inclua o elemento
<queries>
no arquivo de manifesto do app. - Chame
getInstalledApplications()
ougetInstalledPackages()
. Os dois métodos retornam uma lista filtrada quando são bem-sucedidos. - Confira quais recursos do app não estão funcionando.
- Introduza as entradas
<queries>
adequadas para corrigir esses recursos.
Configurar mensagens de registro para filtrar pacotes
Para descobrir mais detalhes sobre como a visibilidade padrão de apps afeta seu app, ative as mensagens de registro para filtragem de pacotes. Se você está desenvolvendo um app de teste ou depurável no Android Studio, o registro do sistema fornece esse recurso para você. Caso contrário, será possível executar o seguinte comando em uma janela de terminal para ativá-lo manualmente:
adb shell pm log-visibility --enable PACKAGE_NAME
Em seguida, sempre que os pacotes forem filtrados dos valores de retorno de um objeto PackageManager
, você verá uma mensagem semelhante à seguinte no Logcat:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED