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 des Nutzers verfügbar ist, und entscheiden, welche Aktion Sie ausführen möchten.

Erste Schritte

Die Feature Availability API hat dieselbe Abhängigkeit wie das Health Connect SDK. Prüfen Sie zuerst, ob in Ihrer build.gradle-Datei mindestens die 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 Feature-Flags sind in der folgenden Tabelle aufgeführt. Die Funktionalität hinter einem Feature-Flag ist nicht verfügbar, wenn das Gerät des Nutzers die Funktion nicht unterstützt.

Tabelle: Flags für die Verfügbarkeit von Health Connect-Funktionen
Funktions-Flag Datentyp Verwandte Leitfäden
FEATURE_ACTIVITY_INTENSITY Daten zur Intensität von Aktivitäten
FEATURE_EXTENDED_DEVICE_TYPES Erweiterte Gerätetypen Anforderungen an Metadaten
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 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 Hauttemperatur messen

Prüfung durchführen

Die Hauptfunktion zum Prüfen der Verfügbarkeit von Funktionen ist getFeatureStatus(). Dadurch werden die Ganzzahlkonstanten FEATURE_STATUS_AVAILABLE oder FEATURE_STATUS_UNAVAILABLE zurückgegeben:

Wenn Sie herausfinden möchten, ob das Gerät eines Nutzers die Funktion „Gesundheitsdaten im Hintergrund abrufen“ in Health Connect unterstützt, prüfen Sie die Verfügbarkeit von FEATURE_READ_HEALTH_DATA_IN_BACKGROUND auf dem Client:

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 Feature-Flags finden Sie auf der HealthConnectFeatures-Referenzseite.

Fehlende Verfügbarkeit von Funktionen verarbeiten

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

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