Health Connect'e yeni özellikler eklendiğinde kullanıcılar, Health Connect sürümlerini her zaman güncelleyemeyebilir. Feature Availability API, Health Connect'teki bir özelliğin kullanıcınızın cihazında kullanılabilir olup olmadığını kontrol etmenin ve hangi işlemi yapacağınıza karar vermenin bir yoludur.
Başlayın
Feature Availability API, Health Connect SDK ile aynı bağımlılığı paylaşır. Başlamak için 1.1.0-alpha08 sürümünün build.gradle dosyanızda bulunduğunu doğrulayın:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
Özellik bayrakları
Health Connect için kullanılabilen özellik bayraklarıaşağıdaki tabloda listelenmiştir. Kullanıcının cihazı özelliği desteklemiyorsa özellik bayrağının arkasındaki işlev kullanılamaz.
| Özellik bayrağı | Veri türü | İlgili kılavuzlar |
|---|---|---|
FEATURE_ACTIVITY_INTENSITY |
Aktivite yoğunluğu | |
FEATURE_EXTENDED_DEVICE_TYPES |
Genişletilmiş cihaz türleri |
Meta veri koşulları |
FEATURE_PERSONAL_HEALTH_RECORD |
Tıbbi kayıtlar |
Tıbbi Kayıtlar veri biçimi Tıbbi verileri yazma Tıbbi verileri okuma |
FEATURE_MINDFULNESS_SESSION |
Farkındalık |
Farkındalığı takip etme |
FEATURE_PLANNED_EXERCISE |
Planlı egzersiz |
Antrenman planları |
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND |
Verileri arka planda okuma |
Arka planda okuma örneği |
FEATURE_READ_HEALTH_DATA_HISTORY |
Geçmiş verileri okuma |
30 günden eski verileri okuma |
FEATURE_SKIN_TEMPERATURE |
Deri sıcaklığı |
Deri sıcaklığını ölçme |
Kontrolü gerçekleştirme
Özelliklerin kullanılabilirliğini kontrol etmek için kullanılan temel işlev getFeatureStatus() işlevidir.
Bu işlev, FEATURE_STATUS_AVAILABLE veya FEATURE_STATUS_UNAVAILABLE tam sayı sabitlerini döndürür:
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND özelliğinin kullanılabilirliğini kontrol edin:
if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
Kullanılabilir tüm özellik bayraklarının listesi için HealthConnectFeatures
referans sayfasına bakın.
Özelliklerin kullanılamaması durumunu ele alma
Bir özellik kullanıcının cihazında kullanılamıyorsa güncelleme ile etkinleştirilebilir. Kullanıcının cihazında desteklenen en yeni sürüm yoksa kullanıcıyı Health Connect'i güncellemeye yönlendirebilirsiniz. Ancak APK'yı (Android 13 ve önceki sürümlerde) kullananlar, yalnızca Android 14 veya sonraki sürümlerin yüklü olduğu cihazlarda kullanılabilen sistem modülü özelliklerini kullanamaz.
Genişletilmiş cihaz türlerinde, kullanıcının cihazında FEATURE_EXTENDED_DEVICE_TYPES kullanılamıyorsa bu değerler Device.TYPE_UNKNOWN olarak kabul edilir. Kodunuzda ve kullanıcı arayüzü mantığınızda makul bir alternatif yöntem sağlayın.