Per assicurare agli utenti che i loro dati vengano letti correttamente, mostra chiaramente in che modo la tua app ottiene i dati, che provengono dalla proprietà
packageName
della classe DataOrigin
.
Esistono due modi per farlo:
Attribuzione di base
Come minimo, l'interfaccia utente deve mostrare l'icona e il nome dell'origine dell'app (o solo il nome dell'app se l'icona non può essere mostrata). L'attribuzione di base è adatta alle seguenti schermate: Home, Registro attività e Dettagli attività.
Per supportare l'attribuzione corretta, l'applicazione può mostrare il nome e l'icona dell'applicazione che ha registrato originariamente i dati. Ciò migliora la fiducia degli utenti e fornisce chiarezza sull'origine delle informazioni sanitarie.
Per recuperare queste informazioni, non devi richiedere autorizzazioni sensibili, ad esempio
QUERY_ALL_PACKAGES
. Il seguente
esempio mostra come recuperare l'etichetta e l'icona dell'app per un determinato pacchetto
da PackageManager
:
fun getAppLabelAndIcon(context: Context, packageName: String): Pair<CharSequence?, Drawable?>{
return try {
val pm = context.packageManager
val appInfo = pm.getApplicationInfo(packageName, 0)
val label = pm.getApplicationLabel(appInfo)
val icon = pm.getApplicationIcon(appInfo)
label to icon
} catch (e: PackageManager.NameNotFoundException){
null to null
}
}
Questa utilità consente di verificare l'attribuzione corretta visualizzando sia il nome che l'icona dell'app insieme ai dati. Vedi l'implementazione nell'esempio HealthConnectManager.kt.

Attribuzione con l'istruzione
La tua app deve aiutare gli utenti a ottenere informazioni sull'origine dei dati, con un link diretto alla schermata "Autorizzazioni app" in Connessione Salute. Questo tipo di attribuzione è adatto alle seguenti schermate: Dettagli attività, Report e approfondimenti.


Sincronizzazione dati
Se la latenza è sufficiente durante la sincronizzazione dell'app con Connessione Salute, mostra questa notifica nell'app durante la sincronizzazione. In questo modo, l'utente viene informato che la procedura potrebbe richiedere un po' di tempo. Se utilizzi le notifiche per la sincronizzazione, queste devono essere impostate su una priorità bassa per impostazione predefinita.
