기능 사용 가능 여부 확인

헬스 커넥트에 새로운 기능이 추가되더라도 사용자가 항상 헬스 커넥트 버전을 업데이트하는 것은 아닙니다. 기능 사용 가능 여부 API는 헬스 커넥트의 기능을 사용자 기기에서 사용할 수 있는지 확인하고 취할 조치를 결정하는 방법입니다.

시작하기

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

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

기능 플래그

헬스 커넥트에서 사용할 수 있는 기능 플래그는 다음 표에 나와 있습니다. 사용자 기기가 기능을 지원하지 않으면 기능 플래그 뒤에 있는 기능을 사용할 수 없습니다.

표: 헬스 커넥트 기능 사용 가능 여부 플래그
기능 플래그 데이터 유형 관련 가이드
FEATURE_ACTIVITY_INTENSITY 활동 강도 운동
FEATURE_EXTENDED_DEVICE_TYPES 확장된 기기 유형 메타데이터 요구사항
FEATURE_MATCHMAKING 랜덤 대결
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 로직에서 적절한 대체 기능을 제공하세요.