Gdy do Health Connect dodawane są nowe funkcje, użytkownicy nie zawsze aktualizują swoją wersję Health Connect. Interfejs Feature Availability API umożliwia sprawdzenie, czy funkcja w Health Connect jest dostępna na urządzeniu użytkownika, i podjęcie odpowiednich działań.
Rozpocznij
Interfejs Feature Availability API ma tę samą zależność co pakiet Health Connect SDK. Aby rozpocząć, sprawdź, czy w pliku build.gradle masz co najmniej wersję 1.1.0-alpha08:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Flagi funkcji
Flagi funkcji dostępne w Health Connect są wymienione w tabeli poniżej. Funkcjonalność powiązana z flagą funkcji nie będzie dostępna, jeśli urządzenie użytkownika jej nie obsługuje.
| Flaga funkcji | Typ danych | Powiązane przewodniki |
|---|---|---|
FEATURE_ACTIVITY_INTENSITY |
Intensywność aktywności |
Treningi |
FEATURE_EXTENDED_DEVICE_TYPES |
Rozszerzone typy urządzeń |
Wymagania dotyczące metadanych |
FEATURE_MATCHMAKING |
Dobór partnera lub partnerki | |
FEATURE_PERSONAL_HEALTH_RECORD |
Dokumentacja medyczna |
Format danych dokumentacji medycznej Zapisywanie danych medycznych Odczytywanie danych medycznych |
FEATURE_MINDFULNESS_SESSION |
Uważność |
Śledzenie uważności |
FEATURE_PLANNED_EXERCISE |
Zaplanowane ćwiczenie |
Treningi Plany treningowe |
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND |
Odczytywanie danych w tle |
Przykład odczytywania w tle |
FEATURE_READ_HEALTH_DATA_HISTORY |
Odczytywanie danych historycznych |
Odczytywanie danych starszych niż 30 dni |
FEATURE_SKIN_TEMPERATURE |
Temperatura skóry |
Parametry życiowe Pomiar temperatury skóry |
Przeprowadź kontrolę
Główną funkcją sprawdzania dostępności funkcji jest getFeatureStatus().
Zwraca ona stałe całkowite FEATURE_STATUS_AVAILABLE lub FEATURE_STATUS_UNAVAILABLE:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND na kliencie:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Listę wszystkich dostępnych flag funkcji znajdziesz na stronie referencyjnej HealthConnectFeatures.
Obsługa braku dostępności funkcji
Jeśli funkcja nie jest dostępna na urządzeniu użytkownika, może ją włączyć aktualizacja. Możesz poprosić użytkownika o zaktualizowanie Health Connect, jeśli nie ma on na urządzeniu najnowszej obsługiwanej wersji. Użytkownicy korzystający z pliku APK (na Androidzie 13 i starszych wersjach) nie mogą jednak korzystać z funkcji modułu systemowego, które są dostępne tylko na urządzeniach z Androidem 14 lub nowszym.
W przypadku rozszerzonych typów urządzeń, jeśli FEATURE_EXTENDED_DEVICE_TYPES nie jest
dostępna na urządzeniu użytkownika, te wartości są traktowane jako
Device.TYPE_UNKNOWN. W logice zapisu i interfejsu użytkownika zastosuj odpowiednie rozwiązanie zastępcze.