我一直在阅读有关 Google Fit API 的内容,特别是传感器 API(https://developers.google.com/fit/android/sensors https://developers.google.com/fit/android/sensors),其中说:传感器 API 提供对 Android 设备上可用传感器和配套设备(例如可穿戴设备)中可用传感器的原始传感器数据流的访问。
此外,在观看谷歌的示例视频时,他们表示“它们可能是 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)获取数据源。
你们有关于为什么我没有在结果中获得可穿戴数据源的任何线索吗?
Thanks.
SensorsApi.findDataSources 方法从运行 Activity 的设备获取原始传感器和派生传感器(在您的情况下,它是移动设备)。如果您想使用可穿戴设备作为数据源,那么您需要首先通过蓝牙连接到它。尝试使用蓝牙扫描API https://developers.google.com/fit/android/ble-sensors!希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)