use*_*180 12 android updates google-play-services google-fit wear-os
从智能手机使用HistoryAPI如果我询问用户的历史记录和DataType.TYPE_HEART_RATE_BPM最后一个小时,从当前时间开始,我错过了过去半小时的数据.
如果我使用智能手表中的相同程序向Google Fit询问它们,那就没关系了.
所以这不是数据提取的问题,因为它取决于设备.
也许这是同步问题?如何以编程方式强制更新Google Fitness Store存储库中的记录?
这就是我所说的.
编辑:这是我建立请求的方式
DataReadRequest readRequest = new DataReadRequest.Builder()
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.enableServerQueries()
.read(dataType)
.build();
Run Code Online (Sandbox Code Playgroud)
在发出请求之前,您是否给设备足够的时间来同步所有数据?当您从手机上的HistoryAPI请求数据时,将从云中获取数据。但是,当您向手表请求数据时,它只会是该可穿戴设备的本地数据。如果设备超出范围,我认为重新连接后要花一些时间才能在云中获得手表数据。据我所知,没有办法强迫这种更新更快/按需进行。
可能的解决方法是检查数据点的时间戳,并在手表上使用本地数据,如果手机上的请求中缺少数据。