Verificare la disponibilità delle funzionalità

Quando vengono aggiunte nuove funzionalità a Health Connect, gli utenti potrebbero non aggiornare sempre la propria versione di Health Connect. L'API Feature Availability è un modo per verificare se una funzionalità di Health Connect è disponibile sul dispositivo dell'utente e decidere quale azione intraprendere.

Inizia

L'API Feature Availability condivide la stessa dipendenza dell'SDK Health Connect. Per iniziare, verifica che nel file build.gradle sia presente almeno la versione 1.1.0-alpha08:

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

Flag funzionalità

I flag di funzionalità disponibili per Health Connect sono elencati nella tabella seguente. La funzionalità dietro un flag di funzionalità non sarà disponibile per l'utilizzo se il dispositivo dell'utente non supporta la funzionalità.

Tabella: flag di disponibilità delle funzionalità di Health Connect
Flag funzionalità Tipo di dati Guide correlate
FEATURE_ACTIVITY_INTENSITY Intensità dell'attività Allenamenti
FEATURE_EXTENDED_DEVICE_TYPES Tipi di dispositivi estesi Requisiti dei metadati
FEATURE_MATCHMAKING Matchmaking
FEATURE_PERSONAL_HEALTH_RECORD Documenti sanitari Formato dei dati della storia clinica
Scrivi dati medici
Leggi dati medici
FEATURE_MINDFULNESS_SESSION Mindfulness Monitora la mindfulness
FEATURE_PLANNED_EXERCISE Allenamento pianificato Allenamenti
Programmi di allenamento
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND Lettura di dati in background Esempio di lettura in background
FEATURE_READ_HEALTH_DATA_HISTORY Leggi i dati storici Leggere i dati più vecchi di 30 giorni
FEATURE_SKIN_TEMPERATURE Temperatura cutanea Parametri vitali
Misura la temperatura cutanea

Esegui il controllo

La funzione principale per verificare la disponibilità delle funzionalità è getFeatureStatus(). Restituisce le costanti intere FEATURE_STATUS_AVAILABLE o FEATURE_STATUS_UNAVAILABLE:

Per determinare se il dispositivo di un utente supporta la lettura dei dati sulla salute in background su Health Connect, controlla la disponibilità di FEATURE_READ_HEALTH_DATA_IN_BACKGROUND sul client:

if (healthConnectClient
     .features
     .getFeatureStatus(
       HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
     ) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {

  // Feature is available
} else {
  // Feature isn't available
}

Per un elenco di tutti i flag di funzionalità disponibili, consulta la pagina di riferimento di HealthConnectFeatures.

Gestisci la mancanza di disponibilità delle funzionalità

Se una funzionalità non è disponibile sul dispositivo di un utente, un aggiornamento potrebbe attivarla. Puoi valutare di indirizzare l'utente ad aggiornare Health Connect se non ha l'ultima versione supportata sul suo dispositivo. Tuttavia, gli utenti che utilizzano l'APK (su Android 13 e versioni precedenti) non possono utilizzare le funzionalità del modulo di sistema disponibili solo sui dispositivi con Android 14 o versioni successive.

Per i tipi di dispositivi estesi, se FEATURE_EXTENDED_DEVICE_TYPES non è disponibile sul dispositivo dell'utente, questi valori vengono trattati come Device.TYPE_UNKNOWN. Fornisci un comportamento di riserva ragionevole nella logica di scrittura e della UI.