健康连接

  
允许开发者读取或写入用户的健康和健身记录。
最新更新 稳定版 候选版本 Beta 版本 Alpha 版本
2024年10月16日 - - - 1.1.0-alpha10

请求访问数据类型

为了帮助我们加强用户隐私和安全,与健康连接集成的开发者**必须声明对数据类型的读写访问权限**,他们的应用使用这些数据类型。开发者必须根据应用的目的,为他们使用的数据库类型提供有效的用例。更多信息,请访问提供健康应用声明表单的信息Android 权限的健康连接

声明依赖项

要添加对健康的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。

在应用或模块的build.gradle文件中添加所需构件的依赖项

Groovy

dependencies {
    // Use to implement health connects
    implementation "androidx.health.connect:connect-client:1.1.0-alpha10"
}

Kotlin

dependencies {
    // Use to implement health connects
    implementation("androidx.health.connect:connect-client:1.1.0-alpha10")
}

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题添加您的投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

健康连接测试版 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。它具有以下功能:

  • 记录的内存表示,因此您可以插入、移除、删除和读取它们。
  • 更改标记的生成和更改跟踪。
  • 记录和更改的分页。
  • 聚合响应支持存根。
  • 允许任何函数抛出异常。
  • 一个 FakePermissionController,可用于模拟权限检查。

API 变更

  • 添加 FakeHealthConnectClient e8469
  • FakeHealthConnectClient 添加存根覆盖 e8469

1.1 版本

1.1.0-alpha10 版本

2024年10月16日

androidx.health.connect:connect-client:1.1.0-alpha10androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10androidx.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-protoandroidx.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-alpha09androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09androidx.health.connect:connect-client-proto:1.1.0-alpha09 已发布。1.1.0-alpha09 版本包含 这些提交

新功能

  • 添加后台读取权限,受功能可用性保护。(I01036I44db9

1.1.0-alpha08 版本

2024年9月4日

androidx.health.connect:connect-client:1.1.0-alpha08androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08androidx.health.connect:connect-client-proto:1.1.0-alpha08 已发布。1.1.0-alpha08 版本包含 这些提交

API 变更

  • HealthConnectClient 中为 features 变量设置默认值。(I788dc
  • 添加一个 API 来检查功能可用性。(Iedd43

错误修复

  • 当 U+ 中 HealthConnectManager 为空时,在 HealthConnectClient.getSdkStatus() 中返回 SDK_UNAVAILABLE 5802f
  • RecordClasses 添加 toString 覆盖 aa5dc
  • 删除了对新平台 API 访问的手动概述,因为在使用 AGP 7.3 或更高版本(例如 R8 版本 3.3)的 R8 和在使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)的所有构建中,这会通过 API 建模自动发生。建议不使用 AGP 的客户端更新到 D8 8.1 或更高版本。有关更多详细信息,请参阅 这篇文章。(If6b4cb/345472586

1.1.0-alpha07 版本

2024 年 1 月 10 日

androidx.health.connect:connect-client:1.1.0-alpha07 已发布。1.1.0-alpha07 版本包含这些提交。

API 变更

  • 当从配置文件用户上下文调用 #getSdkStatus 时,返回 SDK_UNAVAILABLE。(I91df3
  • 删除 SleepStageRecord。(/If6ada

错误修复

  • 在绑定失败时抛出 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
  • 添加了用于创建 ReadRecordsRequest 以及删除和读取记录的便捷 API,并使用具体化记录类型。(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 变更

错误修复

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 及其子类:DataNoDataConsentRequiredStates
  • 添加了 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 版本包含这些提交。

错误修复

  • 修复了 HealthDataSdkService 泄漏(Ia3ba5
  • 在 Android U 上请求权限时始终重定向到正确的 HealthConnect 客户端。(I6415a

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
    • ExerciseLapExerciseSegment 添加到 ExerciseSessionRecord 中。
  • 用于读取、更改日志、插入和删除操作的周期性和每日速率限制(包括内存限制)。
  • 为所有 NutritionRecord 字段添加了验证。
  • HeartRateVariabilityRmssdRecord 添加了验证。
  • 删除了两个已弃用的 API:HealthConnectClient#isProviderAvailableHealthConnectClient#isApiSupported

错误修复

  • 修复了所有单位类型的单位相等性,相等性不再依赖于用于单位初始化的类型。例如,Mass.grams(1000) 现在等于 Mass.kilograms(1)。

1.0 版本

1.0.0-alpha11 版本

2023年2月22日

已发布 androidx.health.connect:connect-client:1.0.0-alpha111.0.0-alpha11 版本包含以下提交。

API 变更

  • 添加用于打开 Health Connect 的意图。(Ic8055
  • 移除一些运动类型。请使用 EXERCISE_TYPE_STRENGTH_TRAININGEXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAININGEXERCISE_TYPE_CALISTHENICS 代替已移除的类型。(I7291c
  • 添加新的 API sdkStatus(),它组合了现在已弃用的两个 API isSdkSupported()isProviderAvailable()。(Iac89d
  • 更改接受 providerPackageName 的 API,使其接受单个字符串而不是列表。(I67e0f

1.0.0-alpha10 版本

2023年1月25日

已发布 androidx.health.connect:connect-client:1.0.0-alpha101.0.0-alpha10 版本包含以下提交。

API 变更

  • ExerciseEventRecordExerciseLapRecordExerciseRepititionRecordSwimmingStrokesRecord 作为 RecordTypes 已不再受支持。它们不再可以写入或读取自 HealthConnect。请从 HealthConnect 集成中移除对这些数据类型的任何引用。(If7ca2
  • 权限 API 的更改,使其接受基于新字符串格式的权限。此更改还需要将权限声明更改为标准的 Android 权限格式。(Ib0a2f

1.0.0-alpha09 版本

2023年1月11日

已发布 androidx.health.connect:connect-client:1.0.0-alpha091.0.0-alpha09 版本包含以下提交。

新功能

  • 为 Health Connect 添加了 2 种新的女性健康数据类型:IntermenstrualBleedingRecordMenstruationPeriodRecordMenstruationFlow.ENUMs 包括轻度、中度、重度和未知。

API 变更

  • 添加了 IntermenstrualBleedingRecordIdc470
  • 添加了 MenstruationPeriodRecord 记录类型(Iea545

1.0.0-alpha08 版本

2022年12月7日

已发布 androidx.health.connect:connect-client:1.0.0-alpha081.0.0-alpha08 版本包含以下提交。

API 变更

  • 添加了 BodyWaterMassHeartRateVariabilityRmssdRecord 作为新的受支持记录类型。(Ifd58f
  • 移除 HipCircumferenceRecordWaistCircumferenceRecord 作为受支持的 RecordTypes。(I62fb9
  • MenstruationFlowRecord.flowstringdef 更改为 intdefs。(I0369f
  • 将使用 Strings 的类似枚举的记录字段更改为 Integers,以提高性能。(I3b295
  • ExerciseSessionExerciseRepetitionsSleepStage 类似枚举的字段从字符串类型更改为整数类型。(Id32a9
  • ExerciseSessionRecord.ACTIVE_TIME_TOTAL 重命名为 EXERCISE_DURATION_TOTAL。(I5d7bd
  • CervicalMucus 枚举中添加“异常”。将“透明”重命名为“蛋清状”以提高特异性。将 CervicalMucus#appearance 和 #sensation 从 StringDefs 更改为 IntDefs。(I3ac51
  • 现在将 DeviceTypes 枚举的 StringDef 移动到设备下的 IntDefs 中。(I3abf3
  • 添加 HealthConnectClient.isApiSupported(),它在没有兼容实现的 SDK 版本上返回 false。将 HealthConnectClient.isAvailable 重命名为 isProviderAvailable。(I3674e

错误修复

  • 不允许 HeartRate beatsPerMinute 值小于 1(I6052f
  • 添加 @JvmDefaultWithCompatibility 注解(I8f206

1.0.0-alpha07 版本

2022年10月24日

已发布 androidx.health.connect:connect-client:1.0.0-alpha071.0.0-alpha07 版本包含以下提交。

API 变更

  • 没有默认值的记录参数放在具有默认值的记录参数之前。为保持一致性,InstantZoneOffset 参数始终放在最前面。(Id618c
  • HealthConnectClient.getOrCreate#packageNames 重命名为 providerPackageNames。(Id81e4

错误修复

  • 添加记录字段值验证。当提供的值超出合理范围时,极其错误的值将抛出 IllegalArgumentExceptions。(Ie171d
  • 在相关情况下验证记录开始时间是否早于结束时间。(I02460

1.0.0-alpha06 版本

2022年10月5日

已发布 androidx.health.connect:connect-client:1.0.0-alpha061.0.0-alpha06 版本包含以下提交。

错误修复

  • 改进服务连接生命周期。(If2bd5
  • 修复服务连接中出现异常时发生的 NPE 崩溃错误。(I13546

1.0.0-alpha05 版本

2022年9月21日

已发布 androidx.health.connect:connect-client:1.0.0-alpha051.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-alpha041.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 重命名为 clientRecordIdclientVersion 重命名为 clientRecordVersion。(链接
  • 使 Metadata uid 更易于读者理解,不再可为空。(链接
  • 在质量单位中添加磅(链接
  • DeletionChange.deleteUid 重命名为 uid(链接
  • 将 Permission 重命名为 HealthPermission。这避免了与 Android 框架权限的歧义。(链接

错误修复

  • 修复了能量单位中卡路里单位不正确的回归问题(链接
  • 修复了一些记录类型的聚合回归问题(链接