Para garantir aos usuários que os dados deles estão sendo lidos corretamente, mostre claramente como seu
app obtém dados, que vêm da
propriedade packageName
da classe DataOrigin
.
Há duas maneiras de fazer isso:
Atribuição básica
No mínimo, sua interface do usuário precisa mostrar o ícone e o nome da fonte do app (ou apenas o nome do app se o ícone não puder ser mostrado). A atribuição básica é adequada para as seguintes telas: inicial, registro de atividades e detalhes da atividade.
Para oferecer suporte à atribuição adequada, seu aplicativo pode mostrar o nome e o ícone do aplicativo que gravou os dados originalmente. Isso melhora a confiança do usuário e oferece clareza sobre a origem das informações de saúde.
Não é necessário solicitar permissões sensíveis, como
QUERY_ALL_PACKAGES
, para recuperar essas informações. O exemplo a seguir demonstra como recuperar o rótulo e o ícone do app para um determinado pacote do 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
}
}
Esse utilitário ajuda a verificar a atribuição correta mostrando o nome e o ícone do app ao lado dos dados. Consulte a implementação na amostra HealthConnectManager.kt.

Atribuição com base em informações
O app precisa ajudar os usuários a saber qual foi a origem dos dados com um link direto para a tela "Permissões do app" na Conexão Saúde. Esse tipo de atribuição é adequado para as seguintes telas: detalhes da atividade, relatórios e insights.


Sincronização de dados
Se houver latência suficiente ao sincronizar seu app com a Conexão Saúde, mostre esta notificação no app durante a sincronização. Isso informa ao usuário que o processo pode levar algum tempo para ser concluído. Se você usar notificações para sincronização, elas deverão ser definidas como de baixa prioridade por padrão.
