如何解决Google FIT API 和 Goole FIT App 的分钟级数据不匹配
我正在尝试从 Google FIT API 查询步数数据,但在将步数值与 Google FIT 应用 进行比较时遇到了差异。
奇怪的是,当我尝试将 bucketByTime(1,TimeUnit.MINUTES)
更改为 bucketByTime(1,TimeUnit.DAYS)
或 bucketByTime(1,TimeUnit.HOURS)
时,返回的步数与 Google FIT 应用程序中的步数相匹配。当我使用 TimeUnit.MINUTES
时,差异开始出现。
请注意,根据分钟参数的值,差异不一致。如果设置了 bucketByTime(1,TimeUnit.MINUTES)
,总步数将为 2479。但是,当我将参数更改为此 bucketByTime(2,TimeUnit.MINUTES)
时,返回的总步数将为 2477。但 Google FIT App 总步数为 2476。
以下是我的代码:
DataSource ESTIMATED_STEP_DELTAS = new DataSource.Builder()
.setDataType(DataType.TYPE_STEP_COUNT_DELTA)
.setType(DataSource.TYPE_DERIVED)
.setStreamName("estimated_steps")
.setAppPackageName("com.google.android.gms")
.build();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(ESTIMATED_STEP_DELTAS,DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1,TimeUnit.MINUTES)
.setTimeRange(start,end,TimeUnit.MILLISECONDS)
.build();
Task<DataReadResponse> response = fitness.getHistoryClient(context,GoogleSignIn.getLastSignedInAccount(context)).readData(readRequest);
所以我想要的是 Google FIT API 返回的总步数值与使用 bucketByTime(1,TimeUnit.MINUTES)
的 Google FIT App 保持一致。
希望这里有人可以帮助我,因为我在发帖之前确实尝试在互联网上寻找答案或类似的帖子,但我找不到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。