Wear OS 3 及更高版本包含一项名为“健康服务”的服务。“健康服务”作为设备上各种传感器和相关算法的中间体,为应用提供与活动、锻炼和健康相关的优质数据。
健康服务 API 处于测试阶段,已准备好投入生产使用。
请参阅 GitHub 上的 健康服务示例代码库,了解健身应用示例。
健康服务如何帮助应用开发者
如果没有健康服务,应用必须连接到一个或多个传感器,适当地配置每个传感器,接收原始传感器数据,并使用自己的算法来推导出有意义的信息。例如,应用可能会注册 Sensor.TYPE_PRESSURE
更新以获取当前气压,使用它来计算当前海拔高度,并随时间推移聚合此数据以显示用户活动期间的海拔变化。
健康服务会自动为用例适当地配置所有与健身和健康相关的传感器,收集传感器数据,并计算心率、距离、卡路里、海拔高度、楼层、速度、步速等指标。应用可以直接从健康服务注册这些数据。
使用健康服务的一些好处包括:
- 利用在平台上本地运行的强大算法。
- 通过使用针对电源效率优化的健康服务传感器配置来节省电池电量。
- 使应用能够兼容 Wear 3+ 设备。Health Services API 在 Wear 3+ 设备上保持一致,从而更轻松地维护您的应用。
- 通过使用标准化的平台计算,确保同一设备上所有应用程序之间的数据一致性。
- 支持感知活动的体验,包括检测从其他应用启动的正在进行的锻炼。
这些优势使开发人员能够专注于开发独特的特性和用户体验,同时依靠平台以高效的方式提供强大且一致的指标。
Health Services 概念
使用 Health Services 进行开发时,请牢记以下概念。
数据类型
Health Services 提供各种从设备上所有可用来源收集并持续更新的数据。数据分为两大类:单一时间点采样的数据,例如 HEART_RATE_BPM
,以及一段时间内采集的数据,例如 DISTANCE
。
更多信息,请参阅完整的 数据类型 列表。
事件
当用户达到某个目标状态或事件时,应用会接收事件。例如,用户可以在锻炼应用中注册距离目标,然后应用会在用户跑完一定距离时通知用户。或者,对于用户达到某个步数或入睡等情况,可以使用被动目标。
锻炼类型
Health Services 将锻炼视为一等特性,并支持多种锻炼类型,例如跑步或滑雪。在进行锻炼期间,Health Services 可以收集所选数据类型的指标,并向管理锻炼的应用报告。
更多信息,请参阅完整的 锻炼类型 列表。
使用 Health Services 创建应用
按照以下部分的说明使用 Health Services 创建应用。
被动体验
使用 PassiveMonitoringClient
,您的应用实现 PassiveListenerService
,该服务接收有关数据类型或事件的更新。这适用于数据更新相对不频繁的长期体验。
更多信息,请参阅 被动数据更新。
主动体验
使用 MeasureClient
,您的应用注册监听器以接收快速的数据更新。这适用于短暂的体验,例如用户查看应用 UI 时。尽量减少应用注册监听器的时间,因为它会增加传感器采样率,从而增加功耗。此 API 不适用于后台捕获或锻炼跟踪。
更多信息,请参阅 使用 MeasureClient 进行即时健康测量。
使用 ExerciseClient
,您的应用可以管理用户的锻炼,设置锻炼目标,并侦听有关当前锻炼状态的更新。只要锻炼属于您的应用,您的应用也可以通过此 API 接收快速的数据更新。ExerciseClient
可用于运行应用等应用,这些应用允许用户记录他们的跑步情况,在他们的设备上显示实时指标,并记录数据以供进一步分析。
更多信息,请参阅 使用 ExerciseClient 记录锻炼。
使用合成数据进行测试
要测试您的应用是否正在从 Health Services 接收数据更新,请手动设置您的设备以发出数据,就像用户正在进行锻炼一样。
更多信息,请参阅 使用 Health Services 使用合成数据。
为您推荐
- 注意:当 JavaScript 关闭时,会显示链接文本。
- 使用 ExerciseClient 记录锻炼
- 使用 MeasureClient 进行即时健康测量
- 被动数据更新
- 增强跨 Wear OS 设备的应用兼容性