Aby zapewnić użytkowników, że ich dane są odczytywane prawidłowo, wyraźnie pokaż, w jaki sposób Twoja aplikacja uzyskuje dane, które pochodzą z packageName
właściwości klasy DataOrigin
.
Możesz to zrobić na 2 sposoby:
Podstawowa atrybucja
Interfejs użytkownika powinien wyświetlać co najmniej ikonę i nazwę źródła aplikacji (lub tylko nazwę, jeśli ikony nie można wyświetlić). Podstawowe przypisanie jest odpowiednie w przypadku tych ekranów: Strona główna, Dziennik aktywności i Szczegóły aktywności.
Aby zapewnić prawidłowe przypisanie, aplikacja może wyświetlać nazwę i ikonę aplikacji, która pierwotnie zarejestrowała dane. Zwiększa to zaufanie użytkowników i wyjaśnia, skąd pochodzą informacje o zdrowiu.
Aby uzyskać te informacje, nie musisz prosić o przyznanie żadnych newralgicznych uprawnień, takich jakQUERY_ALL_PACKAGES
. Poniższy przykład pokazuje, jak pobrać etykietę i ikonę aplikacji dla danego pakietu z 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
}
}
To narzędzie pomaga w weryfikacji prawidłowego przypisania atrybucji, ponieważ wyświetla nazwę i ikonę aplikacji obok danych. Zobacz implementację w przykładowym pliku HealthConnectManager.kt.

Atrybucja w edukacji
Aplikacja powinna pomagać użytkownikom w uzyskiwaniu informacji o źródle danych, a także zawierać bezpośredni link do ekranu „Uprawnienia aplikacji” w Health Connect. Ten typ atrybucji jest odpowiedni w przypadku tych ekranów: szczegóły aktywności, raporty i statystyki.


Synchronizacja danych
Jeśli podczas synchronizacji aplikacji z Health Connect występuje wystarczające opóźnienie, wyświetl w aplikacji to powiadomienie. Informuje to użytkownika, że proces może potrwać. Jeśli używasz powiadomień do synchronizacji, powinny one mieć domyślnie ustawiony niski priorytet.
