Health Connect
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 7 月 16 日 | - | 1.1.0-rc03 | - | - |
要求存取資料類型
為協助強化使用者隱私權和安全性,與 Health Connect 整合的開發人員必須聲明應用程式使用的資料類型讀取和/或寫入權限。開發人員必須根據應用程式的用途,為所用資料類型加入有效的用途。詳情請參閱「提供健康應用程式聲明表單的資訊」和「Android 健康資料同步權限」。
宣告依附元件
如要為健康資料新增依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { // Use to implement health connects implementation "androidx.health.connect:connect-client:1.1.0-rc03" }
Kotlin
dependencies { // Use to implement health connects implementation("androidx.health.connect:connect-client:1.1.0-rc03") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
健康資料同步測試版 1.0
1.0.0-alpha03 版本
2025 年 4 月 9 日
發布 androidx.health.connect:connect-testing:1.0.0-alpha03
。1.0.0-alpha03 版包含這些修訂項目。
修正錯誤
1.0.0-alpha02 版
2025 年 2 月 26 日
發布 androidx.health.connect:connect-testing:1.0.0-alpha02
。1.0.0-alpha02 版包含這些修訂項目。
API 變更
- 在
androidx.health.connect:connect-client:1.1.0-alpha12
(I1f7f1) 中導入中繼資料變更後,導入MetadataTestHelper#populatedWithTestValues
以用於測試 - 移除
connect-testing
中的ExperimentalTestingApi
註解 (I97a57) - 為
FakeHealthConnectClient
中的記錄和變更新增完整存根 (I15a4c)
1.0.0-alpha01 版
2024 年 9 月 4 日
發布 androidx.health.connect:connect-testing:1.0.0-alpha01
。1.0.0-alpha01 版包含這些修訂項目。
新功能
Health Connect 測試程式庫可簡化自動化測試的建立作業。您可以使用這個程式庫驗證應用程式的行為,並確認應用程式是否能正確處理手動測試難以涵蓋的特殊情況。
您可以使用這個程式庫建立本機單元測試,通常會驗證應用程式中與「健康資料同步」用戶端互動的類別行為。
程式庫的進入點是 FakeHealthConnectClient
類別,您可以在測試中使用這個類別取代 HealthConnectClient
。這項功能具備以下特色:
- 記錄的記憶體內表示法,方便您插入、移除、刪除及讀取記錄
- 產生變更權杖和追蹤變更
- 記錄和變更的分頁
- 系統支援使用存根匯總回應
- 允許任何函式擲回例外狀況
- 可用於模擬權限檢查的
FakePermissionController
API 變更
1.1 版本
1.1.0-rc03 版
2025 年 7 月 16 日
發布 androidx.health.connect:connect-client:1.1.0-rc03
、androidx.health.connect:connect-client-external-protobuf:1.1.0-rc03
和 androidx.health.connect:connect-client-proto:1.1.0-rc03
。1.1.0-rc03 版包含這些修訂項目。
修正錯誤
- 修正了 DST 邊界上的匯總
IllegalArgumentException
。(Ic9e4f)
1.1.0-rc02 版本
2025 年 6 月 4 日
發布 androidx.health.connect:connect-client:1.1.0-rc02
、androidx.health.connect:connect-client-external-protobuf:1.1.0-rc02
和 androidx.health.connect:connect-client-proto:1.1.0-rc02
。1.1.0-rc02 版包含這些修訂項目。
修正錯誤
1.1.0-rc01 版本
2025 年 4 月 23 日
發布 androidx.health.connect:connect-client:1.1.0-rc01
、androidx.health.connect:connect-client-external-protobuf:1.1.0-rc01
和 androidx.health.connect:connect-client-proto:1.1.0-rc01
。1.1.0-rc01 版包含這些修訂項目。
API 變更
- 為開發人員新增正念功能適用情形旗標。(I936a8)
1.1.0-beta02 版
2025 年 4 月 9 日
發布 androidx.health.connect:connect-client:1.1.0-beta02
、androidx.health.connect:connect-client-external-protobuf:1.1.0-beta02
和 androidx.health.connect:connect-client-proto:1.1.0-beta02
。1.1.0-beta02 版包含這些修訂項目。
新功能
- 新增實驗性個人健康記錄 (PHR) API,可根據快速醫療照護互通資源 (FHIR®) 格式讀取及寫入醫療資料。PHR API 包括:
FEATURE_PERSONAL_HEALTH_RECORD
常數,用於透過功能可用性 API 檢查 PHR 是否可用。- 應用程式專用的 API,用於寫入醫療資料來源和記錄。
- 應用程式可根據使用者授予的權限,透過 API 讀取醫療資料來源和記錄。
- 新增實驗性正念練習記錄 API (I51c13),包括:
- 應用程式專用的 API,可寫入正念練習的資料。
- 應用程式可根據使用者授予的權限,透過 API 讀取正念練習記錄資料。
修正錯誤
- 在 Android U 以上版本中,Jetpack 對
ElevationGainedRecord
、FloorsClimbedRecord
、HeartRateVariabilityRmssdRecord
、HeightRecord
、HydrationRecord
、LeanBodyMassRecord
、NutritionRecord
、OxygenSaturationRecord
、RespiratoryRateRecord
、RestingHeartRateRecord
、StepsRecord
、TotalCaloriesBurnedRecord
、Vo2MaxRecord
、WeightRecord
和WheelchairPushesRecord
值的驗證作業,已改用平台驗證。(I0f40d)
1.1.0-beta01 版本
2025 年 3 月 12 日
發布 androidx.health.connect:connect-client:1.1.0-beta01
、androidx.health.connect:connect-client-external-protobuf:1.1.0-beta01
和 androidx.health.connect:connect-client-proto:1.1.0-beta01
。1.1.0-beta01 版包含這些修訂項目。
修正錯誤
- 在所有 Android 版本中,啟用所有匯總類型的計算。(I8edf)
1.1.0-alpha12 版本
2025 年 2 月 26 日
發布 androidx.health.connect:connect-client:1.1.0-alpha12
、androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha12
和 androidx.health.connect:connect-client-proto:1.1.0-alpha12
。1.1.0-alpha12 版包含這些修訂項目。
API 變更
- 將中繼資料建構函式設為內部 (I1fb8f)
- 移除了功能可用性 API 的實驗性註解。(I5b54f)
- 推出中繼資料工廠方法 (I8418b)
- 建立中繼資料物件 (I3a13e) 時,請務必使用錄製方法
- 建立裝置物件時,強制提供裝置類型 (Ibc325)
修正錯誤
- 修正計畫運動步驟和區塊缺少說明的問題。(I84039)
- 更新血壓值限制的 Java 文件。(I8d3d4)
- 在 Android U 以上版本中,Jetpack 的血壓記錄值驗證功能已由平台驗證功能取代。(I08bf5)
- 在 Android U 以上版本中,為分組結果新增貢獻資料來源。(Ie7651)
1.1.0-alpha11 版本
2025 年 1 月 15 日
發布 androidx.health.connect:connect-client:1.1.0-alpha11
、androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha11
和 androidx.health.connect:connect-client-proto:1.1.0-alpha11
。1.1.0-alpha11 版包含這些修訂版本。
新功能
- 更新背景和記錄讀取權限,支援 Android 13 以下版本。
API 變更
- 針對
HealthPermission.getReadPermission
和HealthPermission.getWritePermission
新增內建具體化超載 (I59a2e)
修正錯誤
- 移除舊版權限方法 (Ifd080)
- 這個程式庫現在使用 JSpecify 空值註解,這些註解屬於型別用途。Kotlin 開發人員應使用下列編譯器引數,強制執行正確用法:
-Xjspecify-annotations=strict
(這是 Kotlin 編譯器 2.1.0 版的預設值)。(Iaf73a、b/326456246) - 修正
HealthPermission.READ_HEALTH_DATA_HISTORY
的說明文件,具體來說,就是指出如果沒有這項權限,只有在嘗試讀取單一資料點時才會失敗。(Id5b5a)
1.1.0-alpha10 版
2024 年 10 月 16 日
發布 androidx.health.connect:connect-client:1.1.0-alpha10
、androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10
和 androidx.health.connect:connect-client-proto:1.1.0-alpha10
。1.1.0-alpha10 版包含這些修訂項目。
新功能
- 新增
SkinTemperature
種匯總類型。(Ibe123) - 新增
FEATURE_PLANNED_EXERCISE
常數 (Ie02a3) - 新增「讀取記錄」權限。(I5cf41)
- 新增訓練計畫 API (If5be1)
- 新增
SkinTemperatureRecord
API。(I5605d)
安全性修正
- 自這項變更起,androidx 會針對 protobuf 4.28.2 進行編譯,以解決 CVE-2024-7254。將
androidx.health:connect:connect-client-proto
和androidx.health:connect:connect-client-external-protobuf
的依附元件升級至最新的 1.1.0-alpha10,以解決安全漏洞風險。
1.1.0-alpha09 版本
2024 年 9 月 18 日
發布 androidx.health.connect:connect-client:1.1.0-alpha09
、androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09
和 androidx.health.connect:connect-client-proto:1.1.0-alpha09
。1.1.0-alpha09 版包含這些修訂項目。
新功能
1.1.0-alpha08 版本
2024 年 9 月 4 日
發布 androidx.health.connect:connect-client:1.1.0-alpha08
、androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08
和 androidx.health.connect:connect-client-proto:1.1.0-alpha08
。1.1.0-alpha08 版包含這些修訂項目。
API 變更
修正錯誤
- 當 U+ 5802f 中的
HealthConnectManager
為空值時,傳回HealthConnectClient.getSdkStatus()
中的SDK_UNAVAILABLE
- 將
toString
覆寫新增至RecordClasses
aa5dc - 移除手動列出新平台 API 存取權的步驟,因為使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,系統會透過 API 建模自動執行這項作業,而使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 時,所有建構作業都會自動執行這項作業。如果用戶端未使用 AGP,建議更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(If6b4c、b/345472586)
1.1.0-alpha07 版本
2024 年 1 月 10 日
發布 androidx.health.connect:connect-client:1.1.0-alpha07
。查看 1.1.0-alpha07 版的修訂項。
API 變更
修正錯誤
- 繫結失敗時,擲回
RemoteException
,而非IllegalStateException
。(Id2233)
1.1.0-alpha06 版本
2023 年 10 月 18 日
發布 androidx.health.connect:connect-client:1.1.0-alpha06
。查看 1.1.0-alpha06 版的修訂項。
API 變更
- 將
recordingMethod
定義設為公開。(I401fb)
修正錯誤
- 在運動路線文件中新增說明,指出位置資訊應在工作階段結束時間前提供。(0e51e6)
1.1.0-alpha05 版本
2023 年 10 月 4 日
發布 androidx.health.connect:connect-client:1.1.0-alpha05
。查看 1.1.0-alpha05 版的修訂項。
API 變更
- 新增可導覽至「健康資料同步」資料管理畫面的意圖。(Ibf591)
- 已移除
AggregationResult
中已淘汰的方法。(Idbda9) - 新增便利 API,可使用具體化記錄類型建立
ReadRecordsRequest
,以及刪除和讀取記錄。(If58a5)
修正錯誤
- 修正 Android 14 的錯誤,避免系統將空值的營養欄位回傳為
Double.MIN_VALUE
。(1aa1d1) - 修正 Android 14 中的錯誤:由於 bucket 的開始/結束時間相同,因此按月/年彙整資料時,回應會擲回例外狀況。(281313)
1.1.0-alpha04 版本
2023 年 9 月 6 日
發布 androidx.health.connect:connect-client:1.1.0-alpha04
。查看 1.1.0-alpha04 版的修訂項。
API 變更
- 僅限 Java:將
ChangesResponse
上的getHasMore()
欄位重新命名為hasMore()
。(I80695) - 在各個 Android 版本中,對齊
HealthPermissionsRequestContract#createIntent
檢查。合約會檢查所有權限是否為健康相關權限。(I143fc)
修正錯誤
- 修正使用含有空白位置清單的
ExerciseRoute
建立ExerciseSessionRecord
時擲回的例外狀況。(I45c16) - 更新
SleepSessionRecord
說明文件和範例程式碼,以便讀取睡眠階段。(Idf0de)
1.1.0-alpha03 版本
2023 年 7 月 26 日
發布 androidx.health.connect:connect-client:1.1.0-alpha03
。1.1.0-alpha03 版包含此連結所列的修訂項目。
新功能
- 用於讀取及寫入運動路線的 API:
- 已將「
ExerciseRouteResult
」新增到「ExerciseSessionRecord
」 - 已新增「
ExerciseRouteRequestContract
」
- 已將「
API 變更
- 新增
ExerciseRouteResult
及其子類別:Data
、NoData
和ConsentRequiredStates
。 - 新增
ExerciseRoute
做為獨立類別,用於保存路線的位置資料。(I22eed) - 新增了
PERMISSION_WRITE_EXERCISE_ROUTE
。(I92fc4) - 新增
ExerciseRouteRequestContract
,新增HealthPermissionsRequestContract
。(Ief0e5)
修正錯誤
- 修正以千焦耳為單位的能量建構方式 (Ie8791)
1.1.0-alpha02 版本
2023 年 6 月 21 日
發布 androidx.health.connect:connect-client:1.1.0-alpha02
。1.1.0-alpha02 版本包含以下修訂項目。
修正錯誤
1.1.0-alpha01 版本
2023 年 6 月 7 日
發布 androidx.health.connect:connect-client:1.1.0-alpha01
。這個版本是在內部分支版本中開發而成。
新功能
- 支援 Android 14 架構版本的健康資料同步。您必須先安裝這個 SDK,才能使用 Android 14。如果沒有這項權限,應用程式就無法在 Android 14 上與「健康資料同步」整合。
- 新增記錄中繼資料的記錄方法。
API 變更
- 工作階段 API 變更:
- 在「
SleepSessionRecord
」中新增各個睡眠階段,並移除「SleepStageRecord
」。 - 已將
ExerciseLap
和ExerciseSegment
新增至ExerciseSessionRecord
。
- 在「
- 讀取、變更記錄、插入和刪除作業的週期性和每日速率限制 (包括記憶體限制)。
- 已為所有
NutritionRecord
欄位新增驗證。 - 新增
HeartRateVariabilityRmssdRecord
的驗證。 - 移除了兩項已淘汰的 API:
HealthConnectClient#isProviderAvailable
和HealthConnectClient#isApiSupported
。
修正錯誤
- 所有單位類型都採用固定的單位相等性,相等性不再取決於用於單位初始化的類型。例如,Mass.grams(1000) 現在等於 Mass.kilograms(1)。
1.0 版本
1.0.0-alpha11 版本
2023 年 2 月 22 日
發布 androidx.health.connect:connect-client:1.0.0-alpha11
。1.0.0-alpha11 版包含此連結所列的修訂項目。
API 變更
- 新增用於開啟「健康資料同步」的意圖。(Ic8055)
- 移除部分運動類型。使用
EXERCISE_TYPE_STRENGTH_TRAINING
、EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING
或EXERCISE_TYPE_CALISTHENICS
取代已移除的類型。(I7291c) - 新增 API
sdkStatus()
,其功能結合了兩個目前已淘汰的 APIisSdkSupported()
和isProviderAvailable()
。(Iac89d) - 變更接受
providerPackageName
的 API,使其接受單一字串而非清單。(I67e0f)
1.0.0-alpha10 版本
2023 年 1 月 25 日
發布 androidx.health.connect:connect-client:1.0.0-alpha10
。1.0.0-alpha10 版包含此連結所列的修訂項目。
API 變更
ExerciseEventRecord
、ExerciseLapRecord
、ExerciseRepititionRecord
和SwimmingStrokesRecord
已不再是支援的RecordTypes
,無法透過HealthConnect
寫入或讀取。請從HealthConnect
整合項目中移除對這些資料類型的參照。(If7ca2)- 變更權限 API,接受採用新字串格式的權限。與此同時,您也必須將權限聲明改成標準 Android 權限格式。(Ib0a2f)
1.0.0-alpha09 版本
2023 年 1 月 11 日
發布 androidx.health.connect:connect-client:1.0.0-alpha09
。查看 1.0.0-alpha09 版的修訂項。
新功能
- 為健康資料同步新增 2 種新的女性健康資料類型:
IntermenstrualBleedingRecord
和MenstruationPeriodRecord
。MenstruationFlow.ENUMs
包括少量、中量、大量和不明。
API 變更
1.0.0-alpha08 版本
2022 年 12 月 7 日
發布 androidx.health.connect:connect-client:1.0.0-alpha08
。1.0.0-alpha08 版包含此連結所列的修訂項目。
API 變更
- 將
BodyWaterMass
、HeartRateVariabilityRmssdRecord
新增為支援的記錄類型 (Ifd58f) - 從支援的
RecordTypes
中移除HipCircumferenceRecord
、WaistCircumferenceRecord
(I62fb9) MenstruationFlowRecord.flow
已從stringdef
變更為intdefs
(I0369f)- 為提升效能,含有
Strings
的列舉類記錄欄位已變更為Integers
(I3b295) ExerciseSession
、ExerciseRepetitions
和SleepStage
列舉類欄位已從字串變更為整數類型 (Id32a9)- 「
ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL
」已重新命名。(I5d7bd) - 將「Unusual」新增至
CervicalMucus
列舉。為提供更具體的資訊,我們將「Clear」重新命名為「Eggwhite」。此外,CervicalMucus#appearance
和 #sensation 已從StringDefs
變更為 IntDefs (I3ac51) DeviceTypes
列舉的StringDef
現已移至「裝置」底下的IntDefs
(I3abf3)- 新增
HealthConnectClient.isApiSupported()
,這會在沒有相容導入方式的 SDK 版本中傳回 false。「HealthConnectClient.isAvailable->isProviderAvailable
」已重新命名。(I3674e)
修正錯誤
1.0.0-alpha07 版本
2022 年 10 月 24 日
發布 androidx.health.connect:connect-client:1.0.0-alpha07
。查看 1.0.0-alpha07 版的修訂項。
API 變更
- 沒有預設值的 Record 引數位於具有預設值的引數之前。為保持一致性,
Instant
和ZoneOffset
引數一律會放在最開頭的位置。(Id618c) - 將
HealthConnectClient.getOrCreate#packageNames
重新命名為providerPackageNames
。(Id81e4)
修正錯誤
- 新增 Record 欄位值驗證功能。如果提供的值超出合理範圍,將導致極端錯誤值擲回
IllegalArgumentExceptions
。(Ie171d) - 驗證記錄的開始時間是在相關結束時間之前。(I02460)
1.0.0-alpha06 版本
2022 年 10 月 5 日
發布 androidx.health.connect:connect-client:1.0.0-alpha06
。查看 1.0.0-alpha06 版的修訂項。
修正錯誤
1.0.0-alpha05 版本
2022 年 9 月 21 日
發布 androidx.health.connect:connect-client:1.0.0-alpha05
。1.0.0-alpha05 版包含此連結所列的修訂項目。
API 變更
Metadata.uid
更名為Metadata.id
,相關的 CRUD API 統一使用recordId
術語。(I3d1d2)- 將
PermissionController.createRequestPermissionActivityContract
設為靜態方法,而非執行個體方法。已重新命名為PermissionController.createRequestPermissionResultContract
。(Icd2fe) - 已為
BloodGlucoseRecord
新增BloodGlucose
單位類型。(I97678) - 重新命名
MenstruationRecord
->MenstruationFlowRecord
。(I3b88e)
修正錯誤
- 修正不會從用戶端程序傳播前景統計資料的意外行為。(Ifb44c)
1.0.0-alpha04 版本
2022 年 8 月 24 日發布 androidx.health.connect:connect-client:1.0.0-alpha04
。查看 1.0.0-alpha04 版的修訂項。
遷移至 `androidx.health.connect`
自 1.0.0-alpha04 版本起,androidx.health:health-connect-client
已遷移至 androidx.health.connect:connect-client
。如需舊版的健康資料同步,請前往 androidx.health 頁面。
如要遷移,只需將依附元件匯入從 androidx.health:health-connect-client:1.0.0-alpha03
變更為 androidx.health.connect:connect-client:1.0.0-alpha04
即可。
新功能
- 針對 API 呼叫內建選用的偵錯記錄檔 (連結)
API 變更
- 中繼資料
clientId
更名為clientRecordId
,clientVersion
更名為clientRecordVersion
。(連結) - 中繼資料 uid 變得更易於閱讀器讀取,而且不可再為空值。(連結)
- 新增磅的質量單位 (link)
- 已將
DeletionChange.deleteUid
重新命名為 uid (連結) - 將 Permission 重新命名為 HealthPermission。這可避免 Android 架構權限產生混淆。(連結)
修正錯誤