Lorsque de nouvelles fonctionnalités sont ajoutées à Santé Connect, les utilisateurs ne mettent pas toujours à jour leur version de Santé Connect. L'API Feature Availability permet de vérifier si une fonctionnalité de Santé Connect est disponible sur l'appareil de votre utilisateur et de décider quelle action entreprendre.
Premiers pas
L'API Feature Availability partage la même dépendance que le SDK Santé Connect. Pour commencer, vérifiez qu'au moins la version 1.1.0-alpha08
se trouve dans votre fichier build.gradle
:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Feature flags
Les indicateurs de fonctionnalité disponibles pour Santé Connect sont listés dans le tableau suivant. La fonctionnalité associée à un indicateur de fonctionnalité ne sera pas disponible si l'appareil de l'utilisateur ne la prend pas en charge.
Flag de fonctionnalité | Type de données | Guides associés |
---|---|---|
FEATURE_ACTIVITY_INTENSITY |
Intensité de l'activité | |
FEATURE_EXTENDED_DEVICE_TYPES |
Types d'appareils étendus |
Exigences concernant les métadonnées |
FEATURE_PERSONAL_HEALTH_RECORD |
Dossiers médicaux |
Format des données des dossiers médicaux Écrire des données médicales Lire des données médicales |
FEATURE_MINDFULNESS_SESSION |
Pleine conscience |
Suivre la pleine conscience |
FEATURE_PLANNED_EXERCISE |
Exercice planifié |
Plans d'entraînement |
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND |
Lire des données en arrière-plan |
Exemple de lecture en arrière-plan |
FEATURE_READ_HEALTH_DATA_HISTORY |
Lire les données historiques |
Lire les données de plus de 30 jours |
FEATURE_SKIN_TEMPERATURE |
Température cutanée |
Mesurer la température cutanée |
Effectuer la vérification
La fonction principale permettant de vérifier la disponibilité d'une fonctionnalité est getFeatureStatus()
.
Cela renvoie les constantes entières FEATURE_STATUS_AVAILABLE
ou FEATURE_STATUS_UNAVAILABLE
:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
sur le client :
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Pour obtenir la liste de tous les indicateurs de fonctionnalité disponibles, consultez la page de référence HealthConnectFeatures
.
Gérer l'indisponibilité des fonctionnalités
Si une fonctionnalité n'est pas disponible sur l'appareil d'un utilisateur, une mise à jour peut l'activer. Vous pouvez envisager d'inviter l'utilisateur à mettre à jour Santé Connect s'il ne dispose pas de la dernière version compatible sur son appareil. Toutefois, les utilisateurs qui utilisent l'APK (sur Android 13 et versions antérieures) ne peuvent pas utiliser les fonctionnalités du module système qui ne sont disponibles que sur les appareils exécutant Android 14 ou version ultérieure.
Pour les types d'appareils étendus, si FEATURE_EXTENDED_DEVICE_TYPES
n'est pas disponible sur l'appareil de l'utilisateur, ces valeurs sont traitées comme Device.TYPE_UNKNOWN
. Fournissez une solution de repli pertinente dans votre logique d'écriture et d'UI.