Pour assurer aux utilisateurs que leurs données sont lues correctement, indiquez clairement comment votre application obtient les données, qui proviennent de la propriété packageName
de la classe DataOrigin
.
Pour cela, deux méthodes sont possibles :
Attribution de base
L'interface utilisateur (UI) doit au minimum afficher l'icône de source et le nom de l'application (ou uniquement le nom de l'application si l'icône ne peut pas être affichée). L'attribution de base convient aux écrans suivants : Accueil, Journal d'activité et Détails de l'activité.
Pour permettre une attribution correcte, votre application peut afficher le nom et l'icône de l'application qui a enregistré les données à l'origine. Cela renforce la confiance des utilisateurs et permet de savoir d'où proviennent les informations sur la santé.
Vous n'avez pas besoin de demander d'autorisation sensible, comme QUERY_ALL_PACKAGES
, pour récupérer ces informations. L'exemple suivant montre comment récupérer le libellé et l'icône de l'application pour un package donné à partir de 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
}
}
Cet utilitaire permet de vérifier l'attribution appropriée en affichant le nom et l'icône de l'application à côté des données. Consultez l'implémentation dans l'exemple HealthConnectManager.kt.

Attribution avec information
Votre application doit aider les utilisateurs à obtenir des informations sur la source des données, en ajoutant un lien direct vers l'écran "Autorisations de l'application" dans Santé Connect. Ce type d'attribution convient aux écrans suivants : "Détails de l'activité", "Rapports" et "Insights".


Synchronisation des données
Si la latence est suffisante lors de la synchronisation de votre application avec Santé Connect, affichez cette notification dans votre application pendant la synchronisation. Cela informe l'utilisateur que le processus peut prendre un certain temps. Si vous utilisez des notifications pour la synchronisation, elles doivent être définies sur une priorité faible par défaut.
