Quando un'app ha come target Android 11 (livello API 30) o versioni successive e esegue query per informazioni sulle altre app installate su un dispositivo, il sistema filtra queste informazioni per impostazione predefinita. Questo comportamento di filtro significa che la tua app non può rilevare tutte le app installate su un dispositivo, il che contribuisce a ridurre al minimo le informazioni potenzialmente sensibili a cui la tua app può accedere, ma che non ha bisogno per soddisfare i suoi casi d'uso.
Inoltre, la visibilità dei pacchetti filtrata consente all'app store come Google Play valutano la privacy e la sicurezza fornite dalla tua app per gli utenti. Ad esempio, Google Play considera l'elenco delle app installate utente personale e sensibile i tuoi dati.
La visibilità limitata delle app influisce sui risultati restituiti dai metodi che forniscono informazioni su altre app, ad esempio queryIntentActivities()
, getPackageInfo()
e getInstalledApplications()
.
La visibilità limitata influisce anche sulle interazioni esplicite con altre app, ad esempio l'avvio del servizio di un'altra app.
Alcuni pacchetti sono visibili
automaticamente. La tua app può sempre rilevare questi pacchetti nelle query per altre app installate. Per visualizzare altro
di pacchetti, dichiarare l'esigenza dell'app di avere un maggior numero di pacchetti
visibilità utilizzando
<queries>
. L'utilizzo
casi fornisce esempi di come
selettivamente la visibilità dei pacchetti. I flussi di lavoro descritti ti consentono di soddisfare scenari comuni di interazione con le app, proteggendo al contempo la privacy degli utenti.
Nei rari casi in cui l'elemento <queries>
non fornisca una visibilità sufficiente del pacchetto, puoi utilizzare l'autorizzazione QUERY_ALL_PACKAGES
. Se pubblichi la tua app su Google Play, l'utilizzo di questa autorizzazione da parte della tua app è soggetto ad approvazione.
La pagina relativa al test del comportamento di visibilità del pacchetto offre suggerimenti su come testare le modifiche del comportamento in base alla visibilità del pacchetto quando la tua app si basa su interazioni con altre app.
Risorse aggiuntive
Per scoprire di più sulla visibilità dei pacchetti su Android, consulta i seguenti materiali:
Blog post
- Visibilità dei pacchetti in Android 11, disponibile su Medium.