Health Connect
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 1 月 15 日 | - | - | - | 1.1.0-alpha11 |
要求存取資料類型
為協助強化使用者隱私權和安全性,與 Health Connect 整合的開發人員必須為應用程式使用的資料類型聲明讀取和/或寫入存取權。開發人員必須根據應用程式的用途,為所用資料類型加入有效的用途。詳情請參閱「提供健康應用程式聲明表單的資訊」和「Health Connect by Android 權限」。
宣告依附元件
如要為 Health 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { // Use to implement health connects implementation "androidx.health.connect:connect-client:1.1.0-alpha08" }
Kotlin
dependencies { // Use to implement health connects implementation("androidx.health.connect:connect-client:1.1.0-alpha08") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
Health Connect 測試 1.0 版
1.0.0-alpha01 版
2024 年 9 月 4 日
發布 androidx.health.connect:connect-testing:1.0.0-alpha01
。1.0.0-alpha01 版包含這些修訂版本。
新功能
Health Connect 測試程式庫可簡化自動化測試的建立程序。您可以使用這個程式庫驗證應用程式的行為,並確認應用程式是否正確回應難以手動測試的特殊情況。
您可以使用這個程式庫建立本機單元測試,這些測試通常會驗證應用程式中與 Health Connect 用戶端互動的類別行為。
程式庫的進入點是 FakeHealthConnectClient
類別,您可以在測試中使用該類別取代 HealthConnectClient
。其功能如下:
- 記錄的記憶體內表示法,可用於插入、移除、刪除及讀取記錄
- 產生變更權杖和變更追蹤
- 記錄和變更的分頁
- 系統支援使用 Stub 的匯總回應
- 允許任何函式擲回例外狀況
- 可用於模擬權限檢查的
FakePermissionController
API 變更
1.1 版本
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
、-Xtype-enhancement-improvements-strict-mode
(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)。
- 新增 Training plans 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 變更
修正錯誤
- 當
HealthConnectManager
在 U+ 5802f 中為空值時,在HealthConnectClient.getSdkStatus()
中傳回SDK_UNAVAILABLE
- 將
toString
覆寫值新增至RecordClasses
aa5dc - 移除新平台 API 存取權的手動設定,因為在使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,以及在使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 的所有版本時,這項操作會透過 API 模擬功能自動執行。建議未使用 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 變更
- 新增可導覽至 Health Connect 資料管理畫面的意圖。(Ibf591)
- 已移除
AggregationResult
中的淘汰方法。(Idbda9)。 - 新增方便的 API,可使用已實體化的記錄類型建立
ReadRecordsRequest
,以及刪除和讀取記錄。(If58a5)
修正錯誤
- 修正 Android 14 中空值營養欄位以
Double.MIN_VALUE
傳回的問題。(1aa1d1) - 修正 Android 14 中的錯誤,當按月/年期間進行匯總時,由於值區有相同的開始/結束時間,因此會在回應中擲回例外狀況。(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 架構版本的 Health Connect。這個 SDK 是 Android 14 的必要條件。否則應用程式將無法在 Android 14 上與 Health Connect 整合。
- 新增錄製方法,以記錄中繼資料。
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 變更
- 新增用於開啟 Health Connect 的意圖。(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 版的修訂項。
新功能
- 為 Health Connect 新增 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
。如要查看 Health Connect 的先前版本,請前往 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 架構權限產生混淆。(連結)。
修正錯誤