Google Fit DataSource Device(收集数据的设备)为空
Google Fit DataSource Device (device that collects data) is null
我在 Android phone 上使用 Google Fit API。订阅各种数据类型并从历史记录中提取数据效果很好。我正在尝试获取有关记录数据的设备的信息,即 phone。根据文档,DataSource 有一个 getDevice() 方法,即 returns "the device where data is being collected" - 但设备为空。为什么?
我访问设备信息的代码:
val request = DataReadRequest.Builder()
.setTimeRange(from, to, TimeUnit.MILLISECONDS)
.enableServerQueries()
.setLimit(DATA_POINT_LIMIT)
request.read(DataType.TYPE_ACTIVITY_SEGMENT)
historyClient.readData(request.build())
.addOnSuccessListener {
data.dataSets.forEach {
//it.dataSource //Data source is not null
//it.dataSource.device //Device is null
}
}
你得到的DataSource
对应于那个DataType
的合并DataSource
;它将包含 DataPoints
各种来源 DataSource
s.
对于给定的 DataPoint
,您可以使用此方法检索来源 DataSource
(受文档中的警告约束):https://developers.google.com/android/reference/com/google/android/gms/fitness/data/DataPoint#getOriginalDataSource()
我在 Android phone 上使用 Google Fit API。订阅各种数据类型并从历史记录中提取数据效果很好。我正在尝试获取有关记录数据的设备的信息,即 phone。根据文档,DataSource 有一个 getDevice() 方法,即 returns "the device where data is being collected" - 但设备为空。为什么?
我访问设备信息的代码:
val request = DataReadRequest.Builder()
.setTimeRange(from, to, TimeUnit.MILLISECONDS)
.enableServerQueries()
.setLimit(DATA_POINT_LIMIT)
request.read(DataType.TYPE_ACTIVITY_SEGMENT)
historyClient.readData(request.build())
.addOnSuccessListener {
data.dataSets.forEach {
//it.dataSource //Data source is not null
//it.dataSource.device //Device is null
}
}
你得到的DataSource
对应于那个DataType
的合并DataSource
;它将包含 DataPoints
各种来源 DataSource
s.
对于给定的 DataPoint
,您可以使用此方法检索来源 DataSource
(受文档中的警告约束):https://developers.google.com/android/reference/com/google/android/gms/fitness/data/DataPoint#getOriginalDataSource()