Cuando se agregan funciones nuevas a Health Connect, es posible que los usuarios no siempre actualicen su versión de Health Connect. La API de Feature Availability es una forma de verificar si una función de Health Connect está disponible en el dispositivo del usuario y determinar qué pasos seguir.
Cómo comenzar
La API de Feature Availability comparte la misma dependencia que el SDK de Health Connect. Para comenzar, verifica que al menos la versión 1.1.0-alpha08 esté en tu archivo build.gradle:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Marcas de funciones
En la siguiente tabla, se enumeran las marcas de funciones disponibles para Health Connect. La funcionalidad detrás de una marca de función no estará disponible para su uso si el dispositivo del usuario no admite la función.
| Marca de función | Tipo de datos | Guías relacionadas |
|---|---|---|
FEATURE_ACTIVITY_INTENSITY |
Intensidad de la actividad | |
FEATURE_EXTENDED_DEVICE_TYPES |
Tipos de dispositivos extendidos |
Requisitos de los metadatos |
FEATURE_PERSONAL_HEALTH_RECORD |
Historias clínicas |
Formato de los datos de historias clínicas Cómo escribir datos médicos Cómo leer datos médicos |
FEATURE_MINDFULNESS_SESSION |
Mindfulness |
Registro de mindfulness |
FEATURE_PLANNED_EXERCISE |
Ejercicio planificado |
Planes de entrenamiento |
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND |
Lee los datos en segundo plano |
Ejemplo de lectura en segundo plano |
FEATURE_READ_HEALTH_DATA_HISTORY |
Lee los datos históricos |
Cómo leer datos anteriores a 30 días |
FEATURE_SKIN_TEMPERATURE |
Temperatura cutánea |
Cómo medir la temperatura cutánea |
Cómo realizar la verificación
La función principal para verificar la disponibilidad de funciones es getFeatureStatus().
Devuelve las constantes de números enteros FEATURE_STATUS_AVAILABLE o FEATURE_STATUS_UNAVAILABLE:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND en el 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 obtener una lista de todas las marcas de funciones disponibles, consulta la página de referencia de HealthConnectFeatures.
Cómo solucionar la falta de disponibilidad de funciones
Si una función no está disponible en el dispositivo de un usuario, es posible que una actualización la habilite. Si el usuario no tiene en su dispositivo la versión compatible más reciente de Health Connect, podrías dirigirlo a la actualización correspondiente. Sin embargo, los usuarios que usan el APK (en Android 13 y versiones anteriores) no tienen acceso a las funciones del módulo del sistema que solo están disponibles en dispositivos con Android 14 o versiones posteriores.
En el caso de los tipos de dispositivos extendidos, si FEATURE_EXTENDED_DEVICE_TYPES no está disponible en el dispositivo del usuario, esos valores se tratan como Device.TYPE_UNKNOWN. Proporciona una alternativa razonable en la lógica del código y de la IU.