我开发了一个需要显示每日步数的应用程序。 为此,我使用了 Google Fit SDK 中提供的 API。
似乎一切正常,但我得到的步数与 Google Fit 官方应用程序中显示的步数不匹配。
例如,当 Google Fit 应用程序显示 2367 步时,我得到 2308 步。
这是有原因的吗?有没有人有同样的问题? 有人知道吗?
最佳答案
我找到了解决方案。
健身应用程序会在这些步骤之上进行一些额外的处理。当没有记录时,它会根据 Activity 估计步数。
如果它可以帮助某人: 您需要使用包 com.google.android.gms 的自定义数据源
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.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();
关于android - 通过 Google Fit Api 检索的步数与 Google Fit 官方应用程序中显示的步数不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414386/