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 decidir qué acción tomar.
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")
}
Feature flags
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 metadatos |
FEATURE_PERSONAL_HEALTH_RECORD |
Registros médicos |
Formato de datos de registros médicos Escribir datos médicos Leer datos médicos |
FEATURE_MINDFULNESS_SESSION |
Mindfulness |
Registrar la atención plena |
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 |
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 controlar 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. Puedes considerar dirigir al usuario para que actualice Health Connect si no tiene la versión compatible más reciente en su dispositivo. Sin embargo, los usuarios que usan el APK (en Android 13 y versiones anteriores) no pueden usar las funciones del módulo del sistema que solo están disponibles en dispositivos que ejecutan 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 de escritura y de la IU.