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 Health Connect jest dostępna na urządzeniu użytkownika, i podjęcie odpowiednich działań.
Rozpocznij
Interfejs Feature Availability API ma takie same zależności jak pakiet SDK Health Connect. Na początek sprawdź, czy w pliku 1.1.0-alpha08
znajduje się co najmniej wersja build.gradle
:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Przeprowadź kontrolę
Główną funkcją sprawdzania dostępności funkcji jest getFeatureStatus()
.
Zwraca stałe całkowite FEATURE_STATUS_AVAILABLE
lub FEATURE_STATUS_UNAVAILABLE
:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
na urządzeniu:
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 jakaś funkcja nie jest dostępna na urządzeniu użytkownika, aktualizacja może ją włączyć. Jeśli użytkownik nie ma na urządzeniu najnowszej obsługiwanej wersji Health Connect, możesz przekierować go do aktualizacji tej aplikacji. Użytkownicy korzystający z pliku APK (na Androidzie 13 i starszym) nie mogą jednak używać 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 na urządzeniu użytkownika nie jest dostępna wartość FEATURE_EXTENDED_DEVICE_TYPES
, te wartości są traktowane jako Device.TYPE_UNKNOWN
. W logice zapisu i interfejsu podaj rozsądną wartość domyślną.