Se você usa vários aplicativos de exercícios, sono, nutrição ou saúde no seu celular Android, é muito provável que você tenha o seu próprio. dados dispersos por toda parte E isso acaba sendo um transtorno. O Health Connect existe justamente para isso: organizar, centralizar as informações e oferecer controles de privacidade claros, sem que você precise ficar alternando entre vários aplicativos.
Além disso, para desenvolvedores e empresas de saúde, o Health Connect se tornou um ponto único de integração de dados de saúde O que simplifica a sincronização, melhora a interoperabilidade e abre caminho para experiências de usuário mais ricas, mantendo o controle e a segurança como pilares fundamentais.
O que é o Health Connect e qual problema ele resolve?
O Health Connect do Android é um sistema que funciona como um Centro de dados sobre saúde e atividade físicaEm vez de cada aplicativo armazenar e gerenciar suas próprias informações de forma isolada, o Health Connect funciona como um armazenamento comum no dispositivo, no qual diferentes aplicativos podem ler e gravar dados com a sua permissão.
A ideia é acabar com a situação clássica em que o registros de passos, frequência cardíaca, sono, nutrição ou ciclo menstrual Elas estão espalhadas por aplicativos, dispositivos e serviços. Com o Health Connect, todas essas informações são armazenadas localmente no seu telefone, e você decide o que será compartilhado, com quem e para qual finalidade.
Do ponto de vista do Google, esse sistema permite Compartilhe dados entre aplicativos sem sacrificar a privacidade.Para o usuário, isso se traduz em maior conveniência e uma visão geral melhor de sua saúde; para os desenvolvedores, significa uma API unificada para trabalhar com dados de saúde sem ter que reinventar a roda a cada integração.
O acesso ao Health Connect depende da versão do Android.
A forma de acessar o Health Connect depende de... versão do Android que o dispositivo possui, visto que a partir do Android 14 ele passa a fazer parte do próprio sistema.
Health Connect no Android 14 e versões posteriores.
Desde o Android 14 (API nível 34), o Health Connect é um módulo integrado ao framework AndroidNão se trata mais apenas de um aplicativo independente. Isso significa que você não precisa baixar nada da Google Play para que ele funcione, e o gerenciamento é feito diretamente pelas configurações do sistema.
Para abri-lo no Android 14 ou superior, acesse o aplicativo de Configurações do dispositivo e acesse as configurações de segurança e privacidade. O caminho usual é: Configurações > Segurança e privacidade > Controles de privacidade > Health Connect (ou Health Connected, dependendo da tradução e do fabricante). Você também pode Procure por “Health Connect” na barra de pesquisa das configurações. para chegar lá mais rápido.
Nesta versão, ao atualizar o seu telefone, o sistema Ele migra automaticamente os dados que você tinha na versão anterior do aplicativo. Do Health Connect (caso o tenha utilizado anteriormente) ao módulo de sistema integrado, incluindo todas as permissões já concedidas. Dessa forma, você pode até desinstalar o aplicativo antigo sem perder o serviço.
Health Connect no Android 13 e versões anteriores.
No Android 13 (API 33) e versões anteriores, o Health Connect não está incluído no sistema, sendo necessário instalá-lo separadamente. Instale o aplicativo na Google Play Store. para poder usá-lo.
Após a instalação do aplicativo, você pode abri-lo em Configurações > Aplicativos > Health Connect ou adicionando-o ao menu de aplicativos. configurações rápidas para um acesso mais direto. Nesses dispositivos, os desenvolvedores que já integraram seus aplicativos ao Health Connect podem migrar sem comprometer a experiência Quando o usuário atualiza para o Android 14 ou superior, graças aos guias de migração específicos.
É importante colocar atenção O Health Connect não suporta perfis multiusuário. Também não funciona com perfis de trabalho do Android. Funciona apenas no perfil principal do usuário, justamente para manter o controle total sobre o proprietário dos dados.
Centralize e conecte seus aplicativos de saúde e fitness.

A principal vantagem do Health Connect para o usuário comum é que ele permite Conecte diferentes aplicativos de saúde e bem-estar. para que possam compartilhar dados entre si. Dessa forma, um aplicativo de fitness pode usar dados de sono registrados por outro, ou um aplicativo de nutrição pode monitorar seus passos e calorias queimadas.
O processo normal envolve abrir o Health Connect no seu dispositivo e tocar num fluxo inicial como... “Iniciar” ou configurações E, na seção de permissões e dados, acesse as permissões do aplicativo. A partir daí, você pode habilitar os aplicativos que deseja integrar e, crucialmente, Escolha quais categorias de dados cada um pode ler ou escrever. (Por exemplo, passos sim, mas peso não, ou frequência cardíaca sim, mas ciclo menstrual não).
O Health Connect agrupa as informações em categorias temáticasAtividade física, medidas corporais, ciclo menstrual, sono, nutrição, sinais vitais, registros médicos, etc. Isso facilita a visualização rápida do que está sendo compartilhado, com quais aplicativos e para quais finalidades. Você também pode verificar quais aplicativos acessaram seus dados recentemente.
Vale ressaltar que, em alguns aplicativos, é necessário ativar a sincronização antes que ela seja iniciada. dentro do próprio aplicativo associado Além do Health Connect. Se algo não estiver sincronizando, é recomendável verificar as opções do Health Connect e as configurações internas de cada aplicativo envolvido.
Que dados são compartilhados e como são gerenciados?
Quando um aplicativo se conecta ao Health Connect e você concede acesso a ele, esse aplicativo adquire acesso. permissão para ler e gravar determinados tipos de dados No armazém central, sempre dentro das categorias que você aprovou.
Uma vez concedido o acesso, o aplicativo poderá acessar o Dados dos últimos 30 dias e qualquer nova informação gerada a partir desse ponto. No caso do Registros médicos (histórico médico, relatórios, etc.), este limite de 30 dias não se aplica: com sua aprovação explícita, as solicitações podem Veja todo o seu histórico médico disponível. no Health Connect.
Em termos técnicos, os dados são armazenados em um local no próprio dispositivo AndroidVocê tem controle sobre quais aplicativos veem quais informações e pode revogar permissões ou interromper o compartilhamento de determinados tipos de dados a qualquer momento. No entanto, os serviços dos aplicativos conectados ainda podem reter... cópias dos dados que já foram sincronizados com seus próprios servidores antes de você revogar a permissão.
Este modelo ajuda a reduzir o problema dos silos de informação dentro do ecossistema Android: em vez de ter os passos num local, o peso noutro e o sono noutro ainda, todas essas informações passam por um mesmo sistema. ponto comum de armazenamento e orquestraçãoMelhorar tanto a experiência do usuário quanto a qualidade das análises subsequentes.
Perspectiva de interoperabilidade em saúde: além dos dispositivos móveis
A fragmentação de dados não é um problema exclusivo dos aplicativos de fitness: ela existe no setor de saúde em geral. falta histórica de interoperabilidadeOs dados médicos são frequentemente compartimentados por região, hospital, seguradora, laboratório ou até mesmo por projetos de pesquisa específicos, criando verdadeiros silos de informação.
Essa fragmentação tem um custo enorme. Diversas análises estimam que a falta de interoperabilidade pode levar a cerca de 4,7% dos gastos anuais com saúde de um paísIsso se traduz em bilhões de euros perdidos devido à duplicação de esforços, ineficiências, testes repetidos e menor coordenação entre os profissionais.
Centralizar e catalogar corretamente os dados de saúde permite melhorar os diagnósticos e tratamentosIsso reduz atrasos, evita repetições desnecessárias de exames e facilita o acesso dos profissionais ao histórico médico relevante do paciente, mesmo que provenha de outra região ou sistema. Além disso, esses dados bem estruturados são inestimáveis para [o seguinte]. pesquisa biomédica e desenvolvimento de novos medicamentos.
Nesse contexto mais amplo surge a filosofia de projetos como o Connect Health e sua plataforma Universal Health Chain (UHC), que visam a Unificar, centralizar e conectar diferentes tipos de dados clínicos. em larga escala, utilizando padrões internacionais (HL7 FHIR, IPS, USCDI, SNOMED, LOINC), blockchain, inteligência artificial e IoT. Embora operem em esferas diferentes (sistema macro de saúde versus armazenamento de dados local do Android), compartilham a mesma ideia fundamental: eliminar silos de dados e para dar ao usuário mais controle sobre suas informações médicas..
Health Connect para desenvolvedores: preparando o aplicativo
Do ponto de vista técnico, o Health Connect oferece um SDK no Jetpack (androidx.health.connect) Isso permite que os aplicativos se integrem ao repositório de dados do Health Connect, tanto para ler quanto para gravar registros. Essa integração requer algumas etapas de configuração e boas práticas.
Aplicativo Health Connect e disponibilidade
O aplicativo ou módulo Health Connect é responsável por processar todas as solicitações que seu aplicativo envia por meio do SDK, incluindo armazenamento de dados, controle de permissões e acesso de leitura e gravação.
O acesso depende da versão do Android no dispositivo do usuário: no Android 14 e versões posteriores, o módulo está incluído por padrão; no Android 13 e versões anteriores, ele é obrigatório. Instale o aplicativo Health Connect da Google Play.O SDK é compatível com o Android 8 (API 26) e versões posteriores, mas o aplicativo Health Connect funciona apenas a partir do Android 9 (API 28). Isso significa que você pode oferecer suporte a usuários do Android 8 preparando a integração, mas somente aqueles com Android 9 ou superior poderão usar o Health Connect.
Para saber se o Health Connect está disponível e em que situação, o cliente pode ligar para HealthConnectClient.getSdkStatus e agir de acordo: continuar se disponível, ou redirecionar o usuário para o Google Play para instalar ou atualizar o provedor, se necessário.
Adicione o SDK do Health Connect
Para usar a API, você precisa adicionar a dependência correspondente ao módulo build.gradleNormalmente, algo como a biblioteca está incluído. androidx.health.connect:connect-client na seção de dependências. Idealmente, consulte o Documentação oficial para usar a versão mais recenteÀ medida que o SDK evolui com novos recursos, alterações de permissões e melhorias de estabilidade.
Utilizando a API de Disponibilidade de Recursos
Como os usuários nem sempre atualizam a versão do Health Connect, o SDK oferece uma API para Verifique se determinadas funcionalidades estão disponíveis. no dispositivo, usando healthConnectClient.features.getFeatureStatus()Essa chamada retorna constantes como FEATURE_STATUS_AVAILABLE ou FEATURE_STATUS_UNAVAILABLE.
Caso uma funcionalidade não esteja disponível, é recomendável... Convide o usuário a atualizar o Health Connect.Observe que algumas funcionalidades relacionadas ao módulo do sistema ainda não estarão presentes no Android 13 e versões anteriores, mesmo que o usuário instale o APK do Health Connect, pois dependem da própria estrutura.
Permissões e privacidade no Health Connect
O acesso a dados sobre saúde e atividade física é extremamente sensível, por isso o Health Connect acrescenta uma camada extra de segurança sobre as operações de leitura e gravaçãoIsso obriga os desenvolvedores a serem transparentes, explícitos e muito precisos sobre o que estão pedindo.
Declaração de permissões no manifesto
No arquivo AndroidManifest.xmlO aplicativo deve declarar claramente o permissões de leitura e gravação que você precisa, usando etiquetas padrão <uses-permission> Dentro de <manifest>Essas permissões são agrupadas por tipo de dados, por exemplo:
<uses-permission android:name="android.permission.health.READ_HEART_RATE"/>
<uses-permission android:name="android.permission.health.WRITE_HEART_RATE"/>
<uses-permission android:name="android.permission.health.READ_STEPS"/>
<uses-permission android:name="android.permission.health.WRITE_STEPS"/>
Além disso, essas licenças devem esteja de acordo com o que você declarou no Google Play Console. Em relação aos tipos de dados do Health Connect que o aplicativo lê ou grava, a transparência é fundamental: se você solicitar novas permissões no futuro porque precisa de mais categorias de dados, você deve... Inclua tanto os novos quanto os que você já usou.Excluindo apenas aqueles de que você não precisa mais.
Diálogo específico sobre política de privacidade
O manifesto também deve declarar uma atividade capaz de demonstrar a Política de privacidade e justificativa para as permissões do Health Connect quando o usuário clica no link correspondente na tela de permissões do Health Connect.
Para versões até o Android 13, uma Activity é definida para receber a intent. ACTION_SHOW_PERMISSIONS_RATIONALEE a partir do Android 14, um atividade-alias que responde a android.intent.action.VIEW_PERMISSION_USAGE Com a categoria apropriada, o Health Connect permite mostrar ao usuário por que seu aplicativo precisa desses dados, como você os utiliza e como ele pode controlá-los.
Solicitação e gestão dinâmica de licenças
Depois de ter o HealthConnectClientseu aplicativo deve solicitar permissões de tempo de execuçãoAgrupar as funcionalidades necessárias em um conjunto (por exemplo, leitura e gravação de passos e frequência cardíaca). Antes de solicitar qualquer coisa, é aconselhável verificar com getGrantedPermissions() se já tivessem sido concedidas.
Para solicitá-los, o SDK fornece um contrato de resultado através de PermissionController.createRequestPermissionResultContract()Isso mostra ao usuário um Exibição padrão do Health Connect onde você pode aceitar ou negar cada permissão. Seu aplicativo precisa estar preparado para ambos os cenários: se permissões críticas forem negadas, o fluxo de funcionalidades deverá ser ajustado ou limitado.
Já que o usuário pode revogar permissões a qualquer momento De acordo com o Health Connect, é uma boa prática revalidar periodicamente quais permissões ainda estão ativas, especialmente antes de executar operações de leitura ou gravação que dependam delas.
Integração e início do programa Health Connect
Muitos aplicativos incluem um fluxo de integração onde explicam os recursos, solicitam consentimento e configuram as preferências iniciais. O Health Connect permite que esse fluxo seja... iniciar diretamente a partir de sua própria interfacepara que o usuário possa conectar seu aplicativo a partir do Health Connect, e não apenas pelo próprio aplicativo.
Para isso, uma atividade de integração é declarada com as intenções específicas (androidx.health.ACTION_SHOW_ONBOARDING para versões com APK e android.health.connect.action.SHOW_ONBOARDING (para Android 14 e posterior), protegido pelas permissões apropriadas. Observe que Esta atividade pode ser invocada várias vezes.Por exemplo, se o usuário desconectar o aplicativo e depois decidir reconectá-lo.
Operações básicas: leitura e gravação de dados no Health Connect
Após a configuração da integração, seu aplicativo poderá inserir novos registros No Health Connect ou leia os dados existentes, tanto individualmente quanto em conjunto.
Redação de dados: registros e metadados
Os dados são representados como objetos. Record específico para cada tipo (passos, frequência cardíaca, peso, etc.). Por exemplo, para contar passos, usa-se StepsRecordque inclui campos como número de etapas, horário de início e término, fuso horário e metadados.
Seu aplicativo cria um registro com os valores apropriados e o insere com inserirRegistros()É comum complementar o registro com um objeto. Metadata Especifique se são dados. auto-registrado por um dispositivo (por exemplo, um relógio) ou inseridos manualmente, incluindo informações do dispositivo (tipo, origem, etc.).
Quando a fonte de dados é seu próprio data warehouse (por exemplo, um backend ou banco de dados local), você pode aproveitar as vantagens de clientRecordId y clientRecordVersion controlar inserções e atualizações idempotentesSe você enviar um registro com um ID de cliente existente e uma versão superior, o Health Connect substituirá os dados anteriores; caso contrário, um novo será criado.
Após a inserção, a resposta de inserirRegistros() Inclui uma lista de IDs gerados pelo Health Connect. Isso é essencial. armazenar esses IDs internos No seu próprio sistema, caso também vá ler e sincronizar dados, pois serão necessários para processar exclusões e alterações.
Leitura de dados individuais e agregados
Para ler dados específicos, utiliza-se readRecords() com uma solicitação do tipo ReadRecordsRequest, onde são indicados o tipo de registro e um filtro por intervalo de tempo (TimeRangeFilterIsso retorna um lista de registros detalhados que seu aplicativo possa processar um por um.
No entanto, para tipos cumulativos, como etapas, recomenda-se o uso de aggregate() em vez de readRecords()A agregação evita problemas de dupla contagem quando existem múltiplas fontes. (por exemplo, celular e relógio ao mesmo tempo) e oferece métricas mais confiáveis, como o número total de passos em um período.
É importante ter em mente que o Health Connect pode ler dados. até 30 dias antes da data de concessão da licença.Se o seu aplicativo precisar consultar históricos mais antigos, ele deverá solicitar uma permissão especial, como por exemplo: PERMISSION_READ_HEALTH_DATA_HISTORY, sujeita a justificativas e revisões mais rigorosas devido à sensibilidade das informações.
Sincronização avançada entre seu aplicativo e o Health Connect
Muitos aplicativos de saúde têm seus próprios armazém de dados interno (local ou na nuvem) que atua como fonte primária. O Health Connect não se destina a substituir esse repositório, mas sim a sincronizar com ele, para que ambas as partes permaneçam alinhadas.
Um processo de sincronização completo normalmente inclui três operações: Insira ou atualize os dados do seu aplicativo no Health Connect.Extraia as alterações do Health Connect para o seu banco de dados e exclua no Health Connect os dados que o usuário excluiu do seu sistema.
Tokens de mudança e consumo incremental
Para extrair as alterações, o SDK do Health Connect fornece o mecanismo para Sincronização de alteraçõesSeu aplicativo primeiro solicita um token de troco usando getChangesToken(), indicando quais tipos de registros você deseja rastrear alterações. Este token representa um ponto no tempo a partir do qual você pode solicitar modificações.
Com esse token, você liga getChanges() em um loop até que você pare de receber mais itens. Cada resposta inclui uma lista de alterações (do tipo UpsertionChange ou DeletionChange), um indicador que mostra se há mais alterações e um novo token para armazenar para a próxima vez. Seu aplicativo deve iterar por todas as alterações, processá-las e, finalmente, salvar o nextChangesToken como referência de sincronização.
As alterações de inserção/atualização (UpsertionChange) incluem o registro inteiro, juntamente com seus metadados. Para evitar a reimportação dos seus dados, é uma boa prática. Verifique o campo dataOrigin.packageName e omita registros originados do seu próprio aplicativo. As alterações de exclusão recebem apenas o ID do registro excluídoPor motivos de privacidade, é crucial que você tenha armazenado previamente esses IDs associados aos seus dados.
A recomendação geral é usar tokens de troca. separados por cada tipo de dados que você consome, a menos que sua lógica de negócios exija o processamento de vários tipos simultaneamente. Dessa forma, se o usuário revogar uma das permissões, você não interrompe toda a sincronização.
Estratégias para quando o token de troca expirar
Os tokens de troca têm data de validade Se passarem mais de 30 dias sem uso, para evitar a perda de informações, você deve planejar uma estratégia de recuperação caso um token se torne inválido.
A opção ideal é armazenar o registro de data e hora do última leitura bem-sucedida E, quando um token expira, releia os dados a partir desse ponto (ou dos últimos 30 dias), aplicando a desduplicação usando IDs de cliente ou IDs do Health Connect. Outras estratégias menos refinadas incluem excluir os dados dos últimos 30 dias e importá-los novamente, ou simplesmente ler esse intervalo sem desduplicação (esta última, a pior opção, pode mostrar duplicatas ao usuário).
Recomenda-se também solicitar tokens de troca com antecedência, mesmo que não vá utilizá-los imediatamente, para manter um certo nível de segurança. ciclo de atualização razoável e evite ficar sem tempo.
Sincronização de dispositivos vestíveis com baixa latência
Quando a fonte de dados é uma dispositivo wearable Quando conectado via Bluetooth Low Energy (BLE), um canal de sincronização de baixa latência pode ser útil para garantir que os dados cheguem ao Health Connect mesmo que o aplicativo não esteja em primeiro plano.
Para esse cenário, o Android oferece Serviço de dispositivo complementar, que permite que seu aplicativo permaneça associado a um dispositivo e receba dados de forma eficiente (por exemplo, notificações ou solicitações GATT) a partir do Android 8 (API 26).
O fluxo típico é: primeiro, o usuário é guiado para Emparelhe o dispositivo vestível usando o CompanionDeviceManager.obtendo as permissões necessárias para se comunicar com ele. Em seguida, no manifesto, um serviço é declarado que estende CompanionDeviceService e é vinculado à ação. android.companion.CompanionDeviceService, protegido com permissão android.permission.BIND_COMPANION_DEVICE_SERVICE.
O serviço gerencia as conexões GATT e seus respectivos callbacks. Sempre que o dispositivo vestível envia dados (por exemplo, uma nova solicitação de conexão), ele é acionado. frequência cardíaca ou um conjunto de etapas), o serviço processa o valor recebido e o converte em Registros do Health Connect e os insere usando insertRecords()No entanto, o serviço não pode solicitar permissões por conta própria: ele precisa que o aplicativo já tenha solicitado e obtido as permissões necessárias (por exemplo, registrar a frequência cardíaca ou o número de passos).
Boas práticas de leitura em primeiro e segundo plano.
Por definição, os aplicativos só podem Leia os dados do Health Connect quando estiverem em primeiro plano.a menos que tenham recebido permissão específica para leituras em segundo plano. Isso é feito para limitar o acesso silencioso a dados sensíveis.
Se o seu aplicativo obtiver permissão de leitura em segundo plano, o usuário estará concedendo um nível de acesso mais elevado, por isso é importante explicar isso claramente. Por que você precisa dessa capacidade? e quais benefícios oferece (por exemplo, sincronização automática sem precisar abrir o aplicativo). Mesmo assim, você deve presumir que o acesso pode ser restrito. interromper a qualquer momentoPor exemplo, se o sistema fechar o aplicativo, você precisará retomar o processo de sincronização na próxima sessão.
Na prática, faz sentido verificar se há novos dados em dois momentos principais: sempre que o aplicativo vem para o primeiro plano. (utilizando eventos de ciclo de vida) e periodicamente, enquanto o usuário o mantiver aberto, notificando-o quando houver dados atualizados para que ele possa atualizar visualizações, gráficos ou resumos.
Ao combinar essas práticas com uma boa gestão de permissões, uso responsável de tokens de alteração e uma política consistente de armazenamento de IDs, tanto os aplicativos de bem-estar para o usuário final quanto as soluções mais avançadas de gerenciamento de dados de saúde podem aproveitar o Health Connect para Reduzir a fragmentação, melhorar a qualidade dos dados e oferecer experiências mais consistentes, com o usuário sempre mantendo o controle sobre o que é compartilhado e com quem. Compartilhe esta informação para que mais pessoas possam conhecer o novo Health Connect e os dados de saúde que ele oferece.
