Android Wear和Google Fit:如何在智能手表和智能手机之间强制更新数据集?

从智能手机使用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(); 

在提出请求之前,您是否已给设备足够的时间来同步所有数据? 当您从手机上的HistoryAPI请求数据时,它将从云中获取。 但是,当您从手表请求数据时,它将只是来自该可穿戴设备的本地数据。 如果设备超出范围,我认为在重新连接之后,在云中可以获得监视数据之前需要一些时间。 据我所知,没有办法迫使这种更新更快/按需发生。

可能的解决方法是检查数据点的时间戳,如果手机上的请求中缺少数据,则使用手表上的本地数据。