每小时间隔的 GoogleFit 未知活动 ID

问题描述

使用 Google 健身 (com.google.android.gms:play-services-fitness:20.0.0),我们试图每隔一小时减少一次活动,但是当我们有跨小时的活动时,前几个小时的 activityId 参数为 4 (未知)。

例如,假设从 10:40 到 11:30 进行 50 分钟的跑步(活动),我们会询问 Google 健身每小时的间隔,具体来说:

  1. 我们预计在 10:00 到 11:00 之间运行 20 分钟,但结果不是 20 分钟,而是整个 60 分钟的未知活动(涵盖从 10:00 开始的所有分钟)到 11:00),返回给我们的结果是 activityId 4;

  2. 在 11:00 到 12:00 之间,我们预计会有 30 分钟的跑步时间,在这种情况下它们会正确到达;

如果我们尝试使用更大的范围,包括所有正在进行的活动(例如从 10:00 到 12:00),答案是正确的,我们按预期运行了 50 分钟。

我们正在使用这种聚合:

.aggregate(DataType.TYPE_ACTIVITY_SEGMENT)
.aggregate(DataType.TYPE_CALORIES_EXPENDED)
.aggregate(DataType.TYPE_disTANCE_DELTA)
.aggregate(DATASOURCE_ESTIMATED_STEP_COUNT_DELTA)

1 分钟的bucketByActivitySegment

这是我们用来从 Google Fit 读取数据的 API:https://developers.google.com/android/reference/com/google/android/gms/fitness/HistoryClient

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)