从智能手机上使用HistoryAPI如果我询问用户的历史记录,并且从当前时间开始,DataType.TYPE_HEART_RATE_BPM上一个小时,我会错过上半小时的数据。
如果我让他们用智能手表上的相同程序来google fit,那就没问题了。
所以这不是数据获取的问题,因为这取决于设备。
可能是同步问题?如何以编程方式强制更新google fitness store存储库中的记录?
This就是我说的。
编辑:这就是我构建请求的方式

      DataReadRequest readRequest = new DataReadRequest.Builder()
            .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
            .enableServerQueries()
            .read(dataType)
            .build();

最佳答案

在发出请求之前,您是否给了设备足够的时间来同步所有数据?当您在电话上从HistoryAPI请求数据时,它将从云中获取。但是,当您从手表请求数据时,它将仅是来自该可穿戴设备的本地数据。如果设备已经超出范围,我想在重新连接之后,在云计算中提供手表数据之前,需要一些时间。据我所知,没有办法强迫这样的更新更快/按需进行。
一种可能的解决方法是检查数据点的时间戳,如果在电话请求中丢失了数据,则使用手表上的本地数据。

07-26 07:29