Se la tua app si basa sulle interazioni con altre app per completare i suoi casi d'uso, è utile testare in che modo le modifiche alla visibilità dei pacchetti in Android 11 (livello API 30) e versioni successive influiscono sulla tua app.
Questa guida fornisce anche alcuni suggerimenti su come testare le modifiche al comportamento e ti aiuta a configurare i messaggi di log per determinare a un livello più granulare in che modo la tua app potrebbe essere interessata.
Testare le modifiche al comportamento
Per verificare se questa modifica del comportamento influisce sulla tua app, completa i seguenti passaggi:
- Installa Android Studio 3.6.1 o versioni successive.
- Installa l'ultima versione di Gradle supportata da Android Studio.
- Imposta
targetSdkVersion
della tua app su30
o versioni successive. - Non includere l'elemento
<queries>
nel file manifest dell'app. - Chiama
getInstalledApplications()
ogetInstalledPackages()
. Entrambi i metodi restituiscono un elenco filtrato quando hanno esito positivo. - Scopri quali funzionalità della tua app non funzionano.
- Inserisci voci
<queries>
appropriate per correggere queste funzionalità.
Configurare i messaggi di log per il filtro dei pacchetti
Per scoprire maggiori dettagli su come la visibilità predefinita delle app influisce sulla tua app, puoi attivare i messaggi di log per il filtro dei pacchetti. Se stai sviluppando un'app di test o un'app di cui è possibile eseguire il debug in Android Studio, il log di sistema fornisce questa funzionalità. In caso contrario, puoi eseguire il comando seguente in una finestra del terminale per abilitarlo manualmente:
adb shell pm log-visibility --enable PACKAGE_NAME
Poi, ogni volta che i pacchetti vengono filtrati dai valori restituiti di un oggetto PackageManager
, in Logcat viene visualizzato un messaggio simile al seguente:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED