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 上发出的请求中缺少数据,则使用手表上的本地数据。
从智能手机使用 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 上发出的请求中缺少数据,则使用手表上的本地数据。