Verfügbarkeit von Funktionen prüfen

Wenn Health Connect neue Funktionen erhält, aktualisieren Nutzer ihre Version von Health Connect möglicherweise nicht immer. Mit der Feature Availability API können Sie prüfen, ob eine Funktion in Health Connect auf dem Gerät Ihres Nutzers verfügbar ist, und entscheiden, welche Maßnahmen Sie ergreifen.

Jetzt starten

Die Feature Availability API hat dieselbe Abhängigkeit wie das Health Connect SDK. Prüfen Sie, ob in Ihrer build.gradle-Datei mindestens Version 1.1.0-alpha08 enthalten ist:

dependencies {
  implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

Funktions-Flags

Die für Health Connect verfügbaren Funktions-Flags sind in der folgenden Tabelle aufgeführt. Die Funktionalität hinter einem Funktions-Flag ist nicht verfügbar, wenn das Gerät des Nutzers die Funktion nicht unterstützt.

Tabelle: Verfügbarkeits-Flags für Health Connect-Funktionen
Funktions-Flag Datentyp Verwandte Leitfäden
FEATURE_ACTIVITY_INTENSITY Daten zur Intensität von Aktivitäten Trainings
FEATURE_EXTENDED_DEVICE_TYPES Erweiterte Gerätetypen Anforderungen an Metadaten
FEATURE_MATCHMAKING Zuordnung
FEATURE_PERSONAL_HEALTH_RECORD Krankenakten Datenformat für Krankenakten
Medizinische Daten schreiben
Medizinische Daten lesen
FEATURE_MINDFULNESS_SESSION Achtsamkeit Achtsamkeit erfassen
FEATURE_PLANNED_EXERCISE Geplantes Training Trainings
Trainingspläne
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND Daten im Hintergrund lesen Beispiel für das Lesen im Hintergrund
FEATURE_READ_HEALTH_DATA_HISTORY Verlaufsdaten lesen Daten lesen, die älter als 30 Tage sind
FEATURE_SKIN_TEMPERATURE Hauttemperatur Vitalparameter
Hauttemperatur messen

Prüfung durchführen

Die Hauptfunktion zum Prüfen der Verfügbarkeit von Funktionen ist getFeatureStatus(). Diese Funktion gibt die ganzzahligen Konstanten FEATURE_STATUS_AVAILABLE oder FEATURE_STATUS_UNAVAILABLE zurück:

Um herauszufinden, ob das Gerät eines Nutzers die Funktion „Gesundheitsdaten im Hintergrund lesen“ in Health Connect unterstützt, prüfen Sie, ob auf dem Client FEATURE_READ_HEALTH_DATA_IN_BACKGROUND verfügbar ist:

if (healthConnectClient
     .features
     .getFeatureStatus(
       HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
     ) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {

  // Feature is available
} else {
  // Feature isn't available
}

Eine Liste aller verfügbaren Funktions-Flags finden Sie auf der HealthConnectFeatures Referenzseite.

Umgang mit fehlender Verfügbarkeit von Funktionen

Wenn eine Funktion auf dem Gerät eines Nutzers nicht verfügbar ist, kann sie möglicherweise durch ein Update aktiviert werden. Sie können den Nutzer auffordern, Health Connect zu aktualisieren, wenn er nicht die neueste unterstützte Version auf seinem Gerät hat. Nutzer, die die APK-Datei verwenden (unter Android 13 und niedriger), können jedoch die Funktionen des Systemmoduls nicht nutzen, die nur auf Geräten mit Android 14 oder höher verfügbar sind.

Wenn für erweiterte Gerätetypen FEATURE_EXTENDED_DEVICE_TYPES auf dem Gerät des Nutzers nicht verfügbar ist, werden diese Werte als Device.TYPE_UNKNOWN behandelt. Stellen Sie in Ihrer Schreib- und UI-Logik einen sinnvollen Fallback bereit.