Google Fit数据不能从云端读取,只能在本地读取

我目前有困难使用谷歌健身HistoryApi。 我正在尝试读取一定时间范围内的心率数据以及心率汇总信息。 当读回似乎是设备本地数据(安卓戴手表同步通过这个设备)的数据似乎是一切都好,但是当我尝试使用另一个设备或模拟器,虽然状态读取成功,但没有返回。

有没有什么方法可以读取不同设备上的数据,比如fit.google.com的网页。

这是连接设置和身份验证。 (语言是Kotlin)

fitApiClient = GoogleApiClient.Builder(activity) .addApi(Fitness.HISTORY_API) .addScope(Scope(Scopes.FITNESS_BODY_READ)) .useDefaultAccount() .addConnectionCallbacks(object : GoogleApiClient.ConnectionCallbacks { override fun onConnected(initialBundle: Bundle?) { connectionResultPublishSubject.onNext(ConnectionUpdate.onConnected()) } override fun onConnectionSuspended(cause: Int) { connectionResultPublishSubject.onNext(ConnectionUpdate.onSuspended(cause)) } }) .addOnConnectionFailedListener { result -> connectionResultPublishSubject.onNext(ConnectionUpdate.onFailed(result)) } .build() fitApiClient.connect() 

这里是心率数据的数据请求。

 return Observable.create({ val readRequest = DataReadRequest.Builder() .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS) .read(DataType.TYPE_HEART_RATE_BPM) .enableServerQueries() .build() val result = Fitness.HistoryApi.readData(fitApiClient, readRequest) result.setResultCallback({ resultData -> it.onNext(resultData) it.onComplete() }, 30, TimeUnit.SECONDS) }) 

以下是记录数据的设备的结果。

 DataReadResult{status=Status{statusCode=SUCCESS, resolution=null}, dataSets=[DataSet{d:heart_rate.bpm:gms:default_heart_rate_bpm 48 data points, first 5: [RawDataPoint{[73.0]@[1502344904955000000, 1502344904955000000](0,1)}, RawDataPoint{[68.0]@[1502345462568000000, 1502345462568000000](0,1)}, RawDataPoint{[72.0]@[1502345716511000000, 1502345716511000000](0,1)}, RawDataPoint{[61.0]@[1502346207125000000, 1502346207125000000](0,1)}, RawDataPoint{[58.0]@[1502346523555000000, 1502346523555000000](0,1)}]}], buckets=[]} 

以下是没有本地Google适合数据的设备的结果

 DataReadResult{status=Status{statusCode=SUCCESS, resolution=null}, dataSets=[DataSet{d:heart_rate.bpm:gms:default_heart_rate_bpm []}], buckets=[]} 

谷歌播放服务的版本是'com.google.android.gms:play-services-fitness:11.0.4'

提前感谢您的帮助