Health Connect

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

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

为了帮助我们加强用户隐私和安全,与 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-alpha08"
}

Kotlin

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

如需详细了解依赖项,请参阅添加 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
  • 添加了用于创建 ReadRecordsRequest 以及删除和读取记录的便捷 API,具有具体化的记录类型。(If58a5)

bug 修复

  • 修复了 Android 14 中的 null 营养字段以 Double.MIN_VALUE 形式返回的 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: <ph type="x-smartling-placeholder">
      </ph>
    • 已将“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。此版本是在内部分支中开发的。

新功能

  • 支持 Health Connect 的 Android 14 框架版本。此 SDK 是 Android 14 的先决条件。如果没有该功能,应用将无法与 Android 14 上的 Health Connect 集成。
  • 添加了用于记录元数据的录制方法。

API 变更

  • Session API 变更: <ph type="x-smartling-placeholder">
      </ph>
    • 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 的热量单位不正确的回归问题(链接
  • 修复了几个记录类型的聚合回归问题(链接