Health Connect

  
允许开发者读取或写入用户的健康与健身记录。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2024 年 1 月 10 日 - - - 1.1.0-alpha07

申请对数据类型的访问权限

为了便于我们加强对用户隐私和安全的保护力度,与 Health Connect 集成的开发者必须填写相关开发者声明表单申请对数据类型的读取和/或写入权限。在该申请中,请根据应用的用途为所需的数据类型添加有效用例。如需了解详情,请参阅 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.1.0-alpha07"
}

Kotlin

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

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.1

版本 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)

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 变更

  • 添加了导航到 Health Connect 数据管理屏幕的 intent。(Ibf591
  • 移除了 AggregationResult 中已废弃的方法。(Idbda9)
  • 添加了便捷 API,用于使用具体化的记录类型创建 ReadRecordsRequest 以及删除和读取记录。(If58a5)

bug 修复

  • 修复了 Android 14 中以 Double.MIN_VALUE 的形式返回 null 营养字段的 bug。(1aa1d1)
  • 修复了 Android 14 中的 bug:由于存储分区的开始/结束时间相同,按月/年汇总时会在响应中抛出异常。(281313)

版本 1.1.0-alpha04

2023 年 9 月 6 日

发布了 androidx.health.connect:connect-client:1.1.0-alpha04版本 1.1.0-alpha04 中包含这些提交内容

API 变更

bug 修复

版本 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

bug 修复

  • 修复了以千焦耳为单位的能量的构造问题 (Ie8791)

版本 1.1.0-alpha02

2023 年 6 月 21 日

发布了 androidx.health.connect:connect-client:1.1.0-alpha02版本 1.1.0-alpha02 中包含这些提交内容

bug 修复

  • 修复了 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 的前提条件。如果没有 Health Connect,应用将无法在 Android 14 上与 Health Connect 集成。
  • 添加了录制方法,用于录制元数据。

API 变更

  • 会话 API 方面的变更:
    • SleepSessionRecord 中添加了各种睡眠阶段,并移除了 SleepStageRecord
    • ExerciseSessionRecord 中添加了 ExerciseLapExerciseSegment
  • 针对读取、更新日志、插入和删除操作的定期和每日速率限制(包括内存限制)。
  • 为所有 NutritionRecord 字段添加了验证。
  • 添加了对 HeartRateVariabilityRmssdRecord 的验证。
  • 移除了两个已废弃的 API:HealthConnectClient#isProviderAvailableHealthConnectClient#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_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-alpha10版本 1.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-alpha09版本 1.0.0-alpha09 中包含这些提交内容

新功能

  • 为 Health Connect 添加了 2 个新的女性健康数据类型:IntermenstrualBleedingRecordMenstruationPeriodRecordMenstruationFlow.ENUMs 为“少”“中”“多”和“未知”。

API 变更

  • 添加了 IntermenstrualBleedingRecord (Idc470)
  • 添加了 MenstruationPeriodRecord 记录类型 (Iea545)

版本 1.0.0-alpha08

2022 年 12 月 7 日

发布了 androidx.health.connect:connect-client:1.0.0-alpha08版本 1.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 枚举添加了“Unusual”。将“Clear”重命名为“Eggwhite”,以提高明确性。将 CervicalMucus#appearance 和 #sensation 从 StringDefs 更改为了 IntDefs。(I3ac51)
  • DeviceTypes 枚举的 StringDef 现在已移至“Device”下的 IntDefs。(I3abf3)
  • 添加了 HealthConnectClient.isApiSupported(),这会在没有兼容实现的 SDK 版本中返回 false。重命名了 HealthConnectClient.isAvailable->isProviderAvailable。(I3674e)

bug 修复

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

版本 1.0.0-alpha07

2022 年 10 月 24 日

发布了 androidx.health.connect:connect-client:1.0.0-alpha07版本 1.0.0-alpha07 中包含这些提交内容

API 变更

  • 不带默认值的记录参数位于具有默认值的参数之前。为保持一致,InstantZoneOffset 参数会始终位于最前面。(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 修复

  • 延长了服务连接生命周期。(If2bd5)
  • 修复了在服务连接中引发异常时出现的 NPE 崩溃 bug。(I13546)

版本 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 修复

  • 修复了 Energy 的热量单位不正确的回归问题(链接
  • 修复了几个记录类型的聚合回归问题(链接