因此,为了检索步数,我使用以下代码:
fun getFitnessData(startTime: Long, endTime: Long): DataReadRequest {
return DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_STEP_COUNT_DELTA)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.bucketByTime(..., TimeUnit.MINUTES)
.build()
}
当使用手机完成记录的步骤时,这种方法效果非常好,但每当用户也有手表时,就会错误地返回步数。
例如,如果用户手机记录了30个步骤,那么手表也记录了30步,返回的结果是60步,但我希望手机/手表在中返回30步
数据的合并似乎是预期行为。根据文档,手表和手机的步数被合并,以获得最完整的步数。合并数据时,手表数据的优先级高于手机数据(优先级避免计算重复步骤(。当您读取数据类型时,Google Fit平台会返回这些准确的合并信息。