헬스 커넥트에 새로운 기능이 추가되더라도 사용자가 항상 헬스 커넥트 버전을 업데이트하는 것은 아닙니다. 기능 사용 가능 여부 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 로직에서 적절한 대체 기능을 제공하세요.