微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决每小时间隔的 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 举报,一经查实,本站将立刻删除。