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

Android Wear and Google Fit: How to force update of datasets between smartwatch and smartphone?

从智能手机使用 HistoryAPI 如果我询问用户的历史记录和过去一小时的 DataType.TYPE_HEART_RATE_BPM,从当前时间开始,我错过了过去半小时的数据。

如果我让他们Google使用与智能手表相同的程序进行适配,就没问题了。

所以这不是数据获取的问题,因为它取决于设备。

可能是同步问题?如何以编程方式强制更新 Google Fitness Store 的存储库中的记录?

This 就是我说的。

编辑:这就是我构建请求的方式

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

在发出请求之前,您是否给了设备足够的时间来同步所有数据?当您从 phone 上的 HistoryAPI 请求数据时,它将从云端获取。但是,当您从手表请求数据时,它只会是来自该可穿戴设备的本地数据。如果设备超出范围,我认为在重新连接后,手表数据在云中可用之前需要一些时间。据我所知,没有办法强制进行这样的更新 faster/on 需求。

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