기능 사용 가능 여부 확인

헬스 커넥트에 새로운 기능이 추가될 때 사용자가 헬스 커넥트 버전을 업데이트하지 않을 수 있습니다. 기능 사용 가능 여부 API는 헬스 커넥트의 기능이 사용자 기기에서 사용 가능한지 확인하고 취할 조치를 결정하는 방법입니다.

시작하기

기능 사용 가능 여부 API는 헬스 커넥트 SDK와 동일한 종속 항목을 공유합니다. 시작하려면 build.gradle 파일에 버전 1.1.0-alpha08 이상이 있는지 확인하세요.

dependencies {
  implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

기능 플래그

Health Connect에 사용할 수 있는 기능 플래그는 다음 표에 나열되어 있습니다. 사용자의 기기에서 기능을 지원하지 않으면 기능 플래그 뒤에 있는 기능을 사용할 수 없습니다.

표: 헬스 커넥트 기능 사용 가능 여부 플래그
기능 플래그 데이터 유형 관련 가이드
FEATURE_ACTIVITY_INTENSITY 활동 강도
FEATURE_EXTENDED_DEVICE_TYPES 확장된 기기 유형 메타데이터 요구사항
FEATURE_PERSONAL_HEALTH_RECORD 의료 기록 의료 기록 데이터 형식
의료 데이터 쓰기
의료 데이터 읽기
FEATURE_MINDFULNESS_SESSION 마음챙김 마음챙김 추적하기
FEATURE_PLANNED_EXERCISE 계획된 운동 학습 계획
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND 백그라운드에서 데이터 읽기 백그라운드 읽기 예시
FEATURE_READ_HEALTH_DATA_HISTORY 과거 데이터 읽기 30일이 지난 데이터 읽기
FEATURE_SKIN_TEMPERATURE 피부 온도 피부 온도 측정

확인 실행

기능 가용성을 확인하는 기본 함수는 getFeatureStatus()입니다. 그러면 정수 상수 FEATURE_STATUS_AVAILABLE 또는 FEATURE_STATUS_UNAVAILABLE가 반환됩니다.

사용자 기기가 헬스 커넥트에서 백그라운드 건강 데이터 읽기를 지원하는지 확인하려면 클라이언트에서 FEATURE_READ_HEALTH_DATA_IN_BACKGROUND의 사용 가능 여부를 확인하세요.

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

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

사용 가능한 모든 기능 플래그의 목록은 HealthConnectFeatures 참조 페이지를 확인하세요.

기능 사용 불가능 처리

사용자 기기에서 기능을 사용할 수 없는 경우 업데이트를 통해 사용 설정될 수 있습니다. 기기에 지원되는 최신 버전이 없는 경우 사용자에게 헬스 커넥트를 업데이트하도록 안내하는 것이 좋습니다. 하지만 APK를 사용하는 사용자(Android 13 이하)는 Android 14 이상을 실행하는 기기에서만 사용할 수 있는 시스템 모듈 기능을 사용할 수 없습니다.

확장 기기 유형의 경우 사용자의 기기에서 FEATURE_EXTENDED_DEVICE_TYPES를 사용할 수 없으면 해당 값은 Device.TYPE_UNKNOWN로 처리됩니다. 쓰기 및 UI 로직에서 적절한 대체 값을 제공합니다.