健康数据共享
| 最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2025 年 10 月 8 日 | 1.1.0 | - | - | 1.2.0-alpha02 |
申请对数据类型的访问权限
为了便于我们加强对用户隐私和安全的保护力度,与 Health Connect 集成的开发者必须声明其应用所用数据类型的读取和/或写入权限。开发者必须根据应用的用途,为所使用的数据类型添加有效用例。如需了解详情,请参阅为健康类应用声明表单提供信息和 Health Connect by Android 权限。
声明依赖项
如需添加 Health Connect 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle 文件中添加所需工件的依赖项:
Groovy
dependencies { // Use to implement health connects implementation "androidx.health.connect:connect-client:1.2.0-alpha02" }
Kotlin
dependencies { // Use to implement health connects implementation("androidx.health.connect:connect-client:1.2.0-alpha02") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
健康数据共享测试版本 1.0
版本 1.0.0-alpha03
2025 年 4 月 9 日
发布了 androidx.health.connect:connect-testing:1.0.0-alpha03。版本 1.0.0-alpha03 中包含这些提交内容。
bug 修复
版本 1.0.0-alpha02
2025 年 2 月 26 日
发布了 androidx.health.connect:connect-testing:1.0.0-alpha02。版本 1.0.0-alpha02 中包含这些提交内容。
API 变更
- 引入
MetadataTestHelper#populatedWithTestValues以在androidx.health.connect:connect-client:1.1.0-alpha12(I1f7f1) 中引入元数据更改后用于测试 - 移除了
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.2
版本 1.2.0-alpha02
2025 年 10 月 8 日
发布了 androidx.health.connect:connect-client:1.2.0-alpha02、androidx.health.connect:connect-client-external-protobuf:1.2.0-alpha02 和 androidx.health.connect:connect-client-proto:1.2.0-alpha02。版本 1.2.0-alpha02 中包含这些提交内容。
API 变更
- 添加了新的设备类型枚举 (I86ce3)
版本 1.2.0-alpha01
2025 年 7 月 30 日
发布了 androidx.health.connect:connect-client:1.2.0-alpha01、androidx.health.connect:connect-client-external-protobuf:1.2.0-alpha01 和 androidx.health.connect:connect-client-proto:1.2.0-alpha01。版本 1.2.0-alpha01 中包含这些提交内容。
新功能
- 为体表温度添加了向后兼容性支持 (d04b1df)
- 添加了对正念的向后兼容性支持 (444eda2)
- 为 Android 14 及更高版本添加了 Activity Intensity API (d10f67b)
版本 1.1
版本 1.1.0
2025 年 10 月 8 日
androidx.health.connect:connect-client:1.1.0、androidx.health.connect:connect-client-external-protobuf:1.1.0 和 androidx.health.connect:connect-client-proto:1.1.0 已升级为第一个稳定版,与之前的 RC 版本相比没有变化。
版本 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 中包含这些提交内容。
bug 修复
- 修复了
IllegalArgumentException,以实现跨 DST 边界的聚合。(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 中包含这些提交内容。
bug 修复
版本 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(基于用户授予的权限)。
bug 修复
- 对于 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 中包含这些提交内容。
bug 修复
- 针对所有 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)
bug 修复
- 修复了计划锻炼步骤和模块中缺少说明的问题。(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)
bug 修复
- 移除了旧版权限方法 (Ifd080)
- 此库现在使用 JSpecify nullness 注解,这些注解属于 type-use 类型。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)
- 添加了
SkinTemperatureRecordAPI。(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 变更
bug 修复
- 当
HealthConnectManager在 U+ 5802f 中为 null 时,在HealthConnectClient.getSdkStatus()中返回SDK_UNAVAILABLE - 向
RecordClassesaa5dc 添加了toString替换项 - 移除了对新平台 API 的访问权限进行手动概述的功能,这是因为在使用 AGP 7.3 或更高版本(例如 R8 版本 3.3)的 R8 时,以及在使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)的所有 build 时,系统会通过 API 建模自动进行 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 变更
bug 修复
- 在绑定失败时抛出
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)
bug 修复
- 添加了锻炼路线文档,其中指定了位置信息应在会话结束时间之前获取。(0e51e6)
版本 1.1.0-alpha05
2023 年 10 月 4 日
发布了 androidx.health.connect:connect-client:1.1.0-alpha05。版本 1.1.0-alpha05 中包含这些提交内容。
API 变更
- 添加了可导航至健康数据共享数据管理界面的 intent。(Ibf591)
- 移除了
AggregationResult中已废弃的方法。(Idbda9) - 添加了用于创建
ReadRecordsRequest以及删除和读取记录的便捷 API,并提供具体化的记录类型。(If58a5)
bug 修复
- 修复了 Android 14 中的一个 bug,该 bug 会导致将 null 营养字段作为
Double.MIN_VALUE返回。(1aa1d1) - 修复了 Android 14 中的一个 bug,该 bug 会导致按月/年周期进行汇总时,由于各个时间段具有相同的开始/结束时间而在响应中抛出异常。(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)
bug 修复
- 修复了当使用包含空位置列表的
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)
bug 修复
- 修复了以千焦耳为单位构建能量的问题 (Ie8791)
版本 1.1.0-alpha02
2023 年 6 月 21 日
发布了 androidx.health.connect:connect-client:1.1.0-alpha02。版本 1.1.0-alpha02 中包含这些提交内容。
bug 修复
版本 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。
bug 修复
- 所有单位类型的固定单位相等性,相等性不再取决于用于单位初始化的类型。例如,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 的 intent。(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) - 将
HipCircumferenceRecord、WaistCircumferenceRecord从受支持的RecordTypes中移除。(I62fb9) - 将
MenstruationFlowRecord.flow从stringdef更改为了intdefs。(I0369f) - 将包含
Strings的枚举类记录字段更改为了Integers,以提升性能。(I3b295) - 将
ExerciseSession、ExerciseRepetitions、SleepStage枚举类字段从字符串类型更改为了整数类型。(Id32a9) - 重命名了
ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL。(I5d7bd) - 向
CervicalMucus枚举添加了“Unusual”。将“Clear”重命名为“Eggwhite”,以提高明确性。将CervicalMucus#appearance和 #sensation 从StringDefs更改为了 IntDefs。(I3ac51) DeviceTypes枚举的StringDef现在已移至“Device”下的IntDefs。(I3abf3)- 添加了
HealthConnectClient.isApiSupported(),这会在没有兼容实现的 SDK 版本中返回 false。重命名了HealthConnectClient.isAvailable->isProviderAvailable。(I3674e)
bug 修复
版本 1.0.0-alpha07
2022 年 10 月 24 日
发布了 androidx.health.connect:connect-client:1.0.0-alpha07。版本 1.0.0-alpha07 中包含这些提交内容。
API 变更
- 不带默认值的记录参数位于具有默认值的参数之前。为保持一致,
Instant和ZoneOffset参数会始终位于最前面。(Id618c) - 已将
HealthConnectClient.getOrCreate#packageNames重命名为providerPackageNames。(Id81e4)
bug 修复
- 添加了记录字段值验证。如果提供的值超出合理的范围,则严重错误的值将抛出
IllegalArgumentExceptions。(Ie171d) - 在相关场景中,验证记录开始时间早于结束时间。(I02460)
版本 1.0.0-alpha06
2022 年 10 月 5 日
发布了 androidx.health.connect:connect-client:1.0.0-alpha06。版本 1.0.0-alpha06 中包含这些提交内容。
bug 修复
版本 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)
bug 修复
- 修复了不从客户端进程传播前台统计信息的意外行为。(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 变更
- 已将 Metadata
clientId重命名为clientRecordId,并将clientVersion重命名为clientRecordVersion。(链接) - 使 Metadata uid 更便于读取器读取,今后不可为 null。(链接)
- 向质量单位中添加了磅(链接)
- 已将
DeletionChange.deleteUid重命名为 uid(链接) - 将 Permission 重命名为 HealthPermission。这避免了与 Android 框架权限混淆。(链接)
bug 修复