首页 > 解决方案 > 我可以从 WearOS 应用程序将锻炼数据记录到 GoogleFit 吗?

问题描述

我正在制作一个健身 wearOS 应用程序。我想将使用该应用程序完成的锻炼记录到 GoogleFit。

WearOS有没有办法做到这一点?

我使用 HealthServices 开始锻炼:

suspend fun startExercise() {
    val dataTypes = setOf(
        DataType.HEART_RATE_BPM,
        DataType.LOCATION

    )
    val aggregateDataTypes = setOf(
        DataType.DISTANCE,
        DataType.TOTAL_CALORIES
    )
    val config = ExerciseConfig.builder()
        .setExerciseType(ExerciseType.RUNNING)
        .setDataTypes(dataTypes)
        .setAggregateDataTypes(aggregateDataTypes)
        .setShouldEnableAutoPauseAndResume(false)
        .setShouldEnableGps(true)
        .build()
    HealthServices.getClient(this /*context*/)
        .exerciseClient
        .startExercise(config)
        .await()
}

(代码来自此示例https://developer.android.com/training/wearables/health-services/active#start

我期待如果我开始/结束锻炼,HealthServices它会自动将数据同步到 GoogleFit(Apple 使用 HealthKit 执行此操作)。

那么,我可以从 WearOS 应用程序将锻炼数据记录到 GoogleFit 吗?

标签: wear-osgoogle-fit

解决方案


要添加到 Yuri 的评论中,这是不可能自动执行的,这SessionClient可能是您手动执行此操作所需的。流程将是:

  1. 使用健康服务收集数据
  2. 转换
  3. 插入会话SessionClient

在Google Fit 文档中插入会话片段是一个相关示例,因为它既设置会话类型(在本例中为运行),然后还添加基础数据(而不是单独使用HistoryClient)。


推荐阅读