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

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)

Tof*_*erJ 5

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

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