Quando un'app ha come target Android 11 (livello API 30) o versioni successive e cerca informazioni sulle altre app installate su un dispositivo, il sistema filtra queste informazioni per impostazione predefinita. Questo comportamento di filtraggio 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 non ha bisogno per soddisfare i suoi casi d'uso.
Inoltre, la visibilità dei pacchetti filtrati aiuta gli store di app come Google Play a valutare la privacy e la sicurezza che la tua app offre agli utenti. Ad esempio, Google Play considera l'elenco delle app installate come dati utente personali e sensibili.
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 altri
pacchetti, dichiara l'esigenza dell'app relativa a una maggiore visibilità
del pacchetto usando l'elemento
<queries>
. La pagina Casi
d'uso fornisce esempi di come
puoi espandere selettivamente la visibilità dei pacchetti. I flussi di lavoro descritti consentono
di soddisfare scenari di interazione comuni con le app, proteggendo al contempo la privacy degli utenti.
Nei rari casi in cui l'elemento <queries>
non fornisce una visibilità adeguata del pacchetto, puoi utilizzare l'autorizzazione QUERY_ALL_PACKAGES
. Se pubblichi la tua
app su Google Play, l'utilizzo di questa autorizzazione da parte dell'app è
soggetto ad approvazione.
La pagina relativa al test del comportamento di visibilità dei pacchetti offre suggerimenti su come testare le modifiche al comportamento in base alla visibilità dei pacchetti quando la tua app si basa sulle interazioni con altre app.
Risorse aggiuntive
Per saperne di più sulla visibilità dei pacchetti su Android, consulta i seguenti materiali:
Post del blog
- Visibilità dei pacchetti in Android 11, disponibile su Medium.