Ö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üncellemeyebilir. 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şlemin yapılacağına karar vermenin bir yoludur.

Başlayın

Feature Availability API, Health Connect SDK'sı ile aynı bağımlılığı paylaşır. Başlamak için build.gradle dosyanızda en az 1.1.0-alpha08 sürümünün bulunduğunu doğrulayın:

dependencies {
  implementation("androidx.health.connect:connect-client:1.2.0-alpha06")
}

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

Tablo: Health Connect özelliğinin kullanılabilirlik bayrakları
Özellik bayrağı Veri türü İlgili kılavuzlar
FEATURE_ACTIVITY_INTENSITY Aktivite yoğunluğu Antrenmanlar
FEATURE_EXTENDED_DEVICE_TYPES Genişletilmiş cihaz türleri Meta veri koşulları
FEATURE_MATCHMAKING Eşleştirme
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ı Antrenmanlar
Antrenman planları
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND Arka planda veri 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ığı Hayati bulgular
Deri sıcaklığını ölçün

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:

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