【发布时间】:2014-11-08 21:44:37
【问题描述】:
我正在尝试访问三星 Gear Live 手表的心率监测器。手表与 4.4.4 手机配对并正常工作。我正在关注official BasicSensorsApi sample。
我可以成功连接到具有以下范围的 Google Play 服务:
addScope(new Scope(Scopes.FITNESS_LOCATION_READ_WRITE))
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE))
但是,当我想列出所有可用的心率监测器时,我收到了一个空列表 DataSource:
private void findFitnessDataSources() {
Fitness.SensorsApi.findDataSources(mGoogleApiClient, new DataSourcesRequest.Builder()
.setDataTypes(
DataType.TYPE_HEART_RATE_BPM)// At least one datatype must be specified.
.setDataSourceTypes(
DataSource.TYPE_RAW)// Specify whether data type is raw or derived.
.build())
.setResultCallback(new ResultCallback<DataSourcesResult>() {
@Override
public void onResult(DataSourcesResult dataSourcesResult) {
for (DataSource dataSource : dataSourcesResult.getDataSources()) {
if (dataSource.getDataType().equals(DataType.TYPE_HEART_RATE_BPM)
&& mListener == null) {
registerFitnessDataListener(dataSource,
DataType.TYPE_HEART_RATE_BPM);
}
}
}
});
如果我将DataType 更改为,例如TYPE_STEP_COUNT_CUMULATIVE 或TYPE_LOCATION_SAMPLE,列表将包含我的手机,这似乎合乎逻辑。
那为什么手表没有被列为可用DataSource?
请注意: 这不是重复的:
因为我想通过最近发布的 Google Fit API 访问心跳数据。
我认为没有必要在手表上启用调试模式,但我已经尝试过了。另外,我不认为添加BODY_SENSORS 权限是必要的,因为无论如何整个过程都是由Google Fit API 管理的,但我也尝试过,但没有运气。
【问题讨论】:
-
您好,请问您能帮我解决这个问题吗?我也有同样的智能手表,但从应用程序中看不到它stackoverflow.com/questions/31022431/…
-
即使我搜索所有数据类型也不起作用。设备已配对。
-
您好,有软件传感器可以让它工作,请参阅stackoverflow.com/a/31231411/1587329 的链接(上面的 cmets 中的问题)
标签: android wear-os heartbeat google-fit