Filtro della visibilità dei pacchetti su Android

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 indica che la tua app non è in grado di rilevare tutte le app installate su un dispositivo, il che aiuta a ridurre al minimo le informazioni potenzialmente sensibili a cui l'app può accedere, ma non è necessaria per i casi d'uso.

Inoltre, la visibilità dei pacchetti filtrata aiuta gli store come Google Play a valutare la privacy e la sicurezza che la tua app fornisce 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. L'app può sempre rilevare questi pacchetti nelle sue query per altre app installate. Per visualizzare altri pacchetti, dichiara l'esigenza della tua app di aumentare la visibilità dei pacchetti utilizzando l'elemento <queries>. La pagina dei casi d'uso fornisce esempi di come espandere selettivamente la visibilità dei pacchetti. I flussi di lavoro qui descritti consentono di soddisfare gli scenari di interazione con le app più comuni, proteggendo al contempo la privacy degli utenti.

Nei rari casi in cui l'elemento <queries> non fornisce una visibilità adeguata dei pacchetti, 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 sul test del comportamento di visibilità dei pacchetti offre suggerimenti su come testare le modifiche del comportamento in base alla visibilità dei pacchetti quando la tua app si basa sulle interazioni con altre app.

Risorse aggiuntive

Per scoprire di più sulla visibilità dei pacchetti su Android, consulta i seguenti materiali:

Post sui blog