Quando novos recursos são adicionados à Conexão Saúde, os usuários nem sempre atualizam a versão do app. A API Feature Availability é uma maneira de verificar se um recurso do Conexão Saúde está disponível no dispositivo do usuário e decidir qual ação tomar.
Primeiros passos
A API Feature Availability compartilha a mesma dependência do SDK
Health Connect. Para começar, verifique se pelo menos a versão 1.1.0-alpha08
está no arquivo
build.gradle
:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Flags de recursos
As flags de recursos disponíveis para o Health Connect estão listadas na tabela a seguir. A funcionalidade por trás de uma flag de recurso não estará disponível para uso se o dispositivo do usuário não for compatível com o recurso.
Flag de recurso | Tipo de dado | Guias relacionados |
---|---|---|
FEATURE_ACTIVITY_INTENSITY |
Intensidade da atividade | |
FEATURE_EXTENDED_DEVICE_TYPES |
Tipos de dispositivos estendidos |
Requisitos de metadados |
FEATURE_PERSONAL_HEALTH_RECORD |
Históricos médicos |
Formato de dados de registros médicos Gravar dados médicos Ler dados médicos |
FEATURE_MINDFULNESS_SESSION |
Mindfulness |
Acompanhar a prática de mindfulness |
FEATURE_PLANNED_EXERCISE |
Exercício planejado |
Planos de treinamento |
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND |
Ler dados em segundo plano |
Exemplo de leitura em segundo plano |
FEATURE_READ_HEALTH_DATA_HISTORY |
Ler dados históricos |
Ler dados com mais de 30 dias |
FEATURE_SKIN_TEMPERATURE |
Temperatura da pele |
Medir a temperatura da pele |
Faça a verificação
A principal função para verificar a disponibilidade de recursos é getFeatureStatus()
.
Isso retorna as constantes inteiras FEATURE_STATUS_AVAILABLE
ou FEATURE_STATUS_UNAVAILABLE
:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
no cliente:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Para uma lista de todas as flags de recursos disponíveis, consulte a página de referência HealthConnectFeatures
.
Gerenciar a falta de disponibilidade de recursos
Se um recurso não estiver disponível no dispositivo de um usuário, uma atualização poderá ativá-lo. Você pode orientar o usuário a atualizar o app Conexão Saúde se ele não tiver a versão mais recente compatível no dispositivo. No entanto, os usuários que usam o APK (no Android 13 e versões anteriores) não podem usar os recursos do módulo do sistema que estão disponíveis apenas em dispositivos com o Android 14 ou mais recente.
Para tipos de dispositivos estendidos, se FEATURE_EXTENDED_DEVICE_TYPES
não estiver disponível no dispositivo do usuário, esses valores serão tratados como Device.TYPE_UNKNOWN
. Forneça um substituto razoável na sua lógica de gravação e de interface.