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.
| 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:
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.