Verfügbarkeit von Funktionen prüfen

Wenn Health Connect neue Funktionen hinzugefügt werden, 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 ausgeführt werden soll.

Jetzt starten

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

dependencies {
  implementation("androidx.health.connect:connect-client:1.2.0-alpha06")
}

Funktions-Flags

Die für Health Connect verfügbaren Funktions-Flags sind in der folgenden Tabelle aufgeführt. Funktionen, die hinter einem Funktions-Flag liegen, sind 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 Workouts
FEATURE_EXTENDED_DEVICE_TYPES Erweiterte Gerätetypen Anforderungen an Metadaten
FEATURE_MATCHMAKING Zuordnung
FEATURE_PERSONAL_HEALTH_RECORD Krankenakten Datenformat für medizinische Daten
Medizinische Daten schreiben
Medizinische Daten lesen
FEATURE_MINDFULNESS_SESSION Achtsamkeit Achtsamkeit erfassen
FEATURE_PLANNED_EXERCISE Geplantes Training Workouts
Trainingspläne
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND Daten im Hintergrund lesen Beispiel für Hintergrundlesevorgang
FEATURE_READ_HEALTH_DATA_HISTORY Verlaufsdaten lesen Daten lesen, die älter als 30 Tage sind
FEATURE_SKIN_TEMPERATURE Hauttemperatur Vitalwerte
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:

Um herauszufinden, ob das Gerät eines Nutzers „Gesundheitsdaten im Hintergrund abrufen“ in Health Connect unterstützt, prüfen Sie, ob FEATURE_READ_HEALTH_DATA_IN_BACKGROUND auf dem Client 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 Referenzseite zu HealthConnectFeatures.

Nichtverfügbarkeit von Funktionen verarbeiten

Wenn eine Funktion auf dem Gerät eines Nutzers nicht verfügbar ist, kann sie möglicherweise durch ein Update aktiviert werden. Du kannst den Nutzer darauf hinweisen, Health Connect zu aktualisieren, wenn er nicht die neueste unterstützte Version auf seinem Gerät hat. Nutzer, die das APK unter Android 13 und 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 für erweiterte Gerätetypen 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.