我一直在阅读有关 Google Fit API,特别是 Sensors API ( https://developers.google.com/fit/android/sensors ) 的信息,它说:Sensors API 提供对来自 Android 上可用传感器的原始传感器数据流的访问设备以及配套设备(例如可穿戴设备)中可用的传感器。
此外,在观看 Google 的示例视频时,他们说“它们可能是 Android 设备上可用的传感器或配套设备上可用的传感器。例如,对于步数,Fit 将使用手机或任何连接的可穿戴设备上的步数计数器,无论它认为是什么最准确”。
阅读本文后,我了解到 Fit API 将从可用的最佳传感器中读取数据,但使用他们的示例,在连接可穿戴设备的情况下,我只能获得一个数据源来读取步骤:来自我的 Android 手机的数据源。
我添加代码:
Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
// At least one datatype must be specified.
.setDataTypes(DataType.TYPE_STEP_COUNT_DELTA)
// Can specify whether data type is raw or derived.
.setDataSourceTypes(DataSource.TYPE_RAW)
.build())
.setResultCallback(new ResultCallback<DataSourcesResult>() {
@Override
public void onResult(DataSourcesResult dataSourcesResult) {
Log.i(TAG, "Result: " + dataSourcesResult.getStatus().toString());
for (DataSource dataSource : dataSourcesResult.getDataSources()) {
Log.i(TAG, "Data source found: " + dataSource.toString());
Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());
//Let's register a listener to receive Activity data!
if (dataSource.getDataType().equals(DataType.TYPE_STEP_COUNT_DELTA)
&& mListener == null) {
Log.i(TAG, "Data source for LOCATION_SAMPLE found! Registering.");
registerFitnessDataListener(dataSource,
DataType.TYPE_STEP_COUNT_DELTA);
}
}
}
});
在这里,我只从我的 Android 设备获取数据源,而不是从我的手机和可穿戴设备(Moto 360 2gen)获取数据源。
你们有任何线索说明为什么我没有在结果中获得我的可穿戴数据源吗?
谢谢。