结合使用合成数据提供程序与健康服务

使用合成数据提供程序可以模拟来自健康服务的传感器数据并对应用进行测试,就像真正运动过一样。您可以从预配置的运动个人资料中选择一个来使用,也可以提供一个带标志的自定义个人资料。

请参阅 GitHub 上的健康服务示例代码库,获取健身应用示例。

使用模拟器时的注意事项

使用 Wear OS 模拟器时,有两个选项可用于生成模拟数据:

  1. 合成数据提供程序:提供丰富的数据生成选项。本页剩下的部分将对此进行介绍。

    如需在模拟器上使用合成数据提供程序,请确保已启用开发者选项

  2. 模拟器扩展控件:Android Studio 中的模拟器提供扩展控件面板,只需点击按钮栏中的三点状图标即可使用。在扩展控件中,开发者可以加载 KML/GPX 文件来模拟位置,或指定心率传感器的行为。

    如需使用扩展控件为健康服务生成数据,请确保已启用传感器提供程序

启用合成数据提供程序

  1. 启用开发者选项
  2. 发出以下 adb 命令启用合成数据提供程序:
$ adb shell am broadcast \
-a "whs.USE_SYNTHETIC_PROVIDERS" \
com.google.android.wearable.healthservices

启用合成数据提供程序后,发出本页稍后部分介绍的命令来控制“合成用户”的行为。

重置为传感器提供程序

如需切换回使用实际传感器,请运行以下命令:

$ adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

支持的指标

合成数据提供程序目前支持以下指标:

  • 心率
  • 每分钟步数
  • GPS 位置(使用一条默认路线)
  • 活动时长
  • 海拔和楼层
  • 睡眠状态(睡眠/清醒)

预定义的锻炼活动

通过广播以下某一项操作,可以更改合成的活动。

  • 步行whs.synthetic.user.START_WALKING
  • 跑步whs.synthetic.user.START_RUNNING
  • 远足whs.synthetic.user.START_HIKING
  • 游泳whs.synthetic.user.START_SWIMMING
  • 在跑步机上跑步whs.synthetic.user.START_RUNNING_TREADMILL

例如,发出以下命令就会开始模拟步行:

$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

上述每项活动在支持的各项指标上的预设值如下:

活动 心率 平均速度 海拔变化 使用位置信息
步行 120 bpm 1.4 米/秒 20.0 米/分钟 true
跑步 170 bpm 2.3 米/秒 20.0 米/分钟 true
远足 150 bpm 1.3 米/秒 20.0 米/分钟 true
游泳 150 bpm 1.6 米/秒 0.0 米/分钟 true
在跑步机上跑步 160 bpm 2.3 米/秒 20.0 米/分钟 false

停止锻炼活动

如需停止正在进行的活动,请使用以下命令:

$ adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

自定义锻炼活动

如需更精确地控制将要生成哪些指标,请使用操作字符串 whs.synthetic.user.START_EXERCISE 并提供以下标志的任意组合,启动自定义锻炼活动:

  • --ei exercise_options_duration_secs <int>:运动时长(秒)。默认值:0
  • --ei exercise_options_heart_rate <int>:心率(每分钟心跳次数)。平均值:70
  • --ef exercise_options_average_speed <float>:平均速度(米/秒)。还会影响迈步频率(每分钟步数)。默认值:0
  • --ez exercise_options_use_location <boolean>:是否在运动期间发出位置数据(使用默认路线)。默认值:false
  • --ef exercise_options_max_elevation_rate <float>:可能的最大海拔变化速度(米/分钟)。默认值:0

例如,可以按照以下方式设置运动选项:

$ adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

如需结束活动,请参阅停止锻炼活动

控制睡眠状态

您可以替合成用户触发特定的睡眠状态。目前仅支持两种状态:睡眠和清醒。如需在两种状态间切换,请使用以下命令。

如需进入“睡眠”状态,请发出以下命令:

$ adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

如需进入“清醒”状态,请发出以下命令:

$ adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices