Vérifier la disponibilité des fonctionnalités

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.

Tableau : Indicateurs de disponibilité des fonctionnalités Santé Connect
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 :

Pour déterminer si l'appareil d'un utilisateur est compatible avec la lecture des données de santé en arrière-plan dans Santé Connect, vérifiez la disponibilité de 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.