「健康資料同步」新增功能時,使用者不一定會更新「健康資料同步」版本。您可以使用「功能可用性」API,檢查使用者裝置是否支援 Health Connect 的功能,並決定要採取哪些動作。
開始使用
Feature Availability API 與 Health Connect SDK 共用相同的依附元件。如要開始使用,請確認 build.gradle
檔案中至少有 1.1.0-alpha08
版本:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
執行檢查
檢查功能是否可用的主要函式是 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 邏輯中提供合理的備援。