Özelliklerin kullanılabilir olup olmadığını kontrol edin

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 işaretleri

Health Connect için kullanılabilen özellik işaretleri aşağıdaki tabloda listelenmiştir. Kullanıcının cihazı özelliği desteklemiyorsa özellik işaretinin arkasındaki işlev kullanılamaz.

Tablo: Health Connect özelliğinin kullanılabilirlik işaretleri
Ö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 Egzersiz planı Eğitim 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()'dır. Bu işlev, FEATURE_STATUS_AVAILABLE veya FEATURE_STATUS_UNAVAILABLE tam sayı sabitlerini döndürür:

Bir kullanıcının cihazının Health Connect'te arka planda sağlık verilerini okuma özelliğini destekleyip desteklemediğini belirlemek için istemcide 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 işaretlerinin 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 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. Yazma ve kullanıcı arayüzü mantığınızda makul bir yedek sağlayın.