android - 每小时间隔的 GoogleFit 未知 activityId
问题描述
使用 Google Fit ( com.google.android.gms:play-services-fitness:20.0.0
),我们尝试每隔一小时减少一次活动,但是当我们有一个跨越小时的活动时,activityId
前几个小时的参数是 4(未知)。
例如,假设从 10:40 到 11:30 进行 50 分钟的跑步(活动),我们会询问 Google Fit 每小时间隔,具体而言:
在 10:00 到 11:00 之间,我们预计跑步 20 分钟,但是我们得到的不是 20 分钟的结果,而是整个 60 分钟的未知活动(涵盖从 10:00 到 11:00 的所有分钟),返回给我们的结果是
activityId
4;在 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
任何想法?
解决方案
推荐阅读
- python - dynamic_rnn 中的初始状态作为占位符
- java - 如何成功循环这个 I/O 程序?
- react-native - React Native:FlatList with require Images 不高效
- c# - ASP.NET Core Razor 页面锚标记在区域内不起作用
- jquery - jQuery 悬停效果 - 如何让它变慢
- java - 如何使用 JOGL 处理和返回数组
- reactjs - 在 reactjs 中输入 3 个值时如何自动关注美元值?
- c# - 全局变量改变另一个类的值(C#)
- javascript - JavaScript - 添加 ID 和类
- java - 如何根据许多不同的潜在选项检查输入,每个选项在 Java 中都有单独的输出?