作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试访问 Samsung Gear Live watch 的心率监测器。 watch 与 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
,该列表将包含我的手机,这似乎合乎逻辑。
为什么 watch 没有列为可用的 DataSource
?
请注意:这不是以下内容的副本:
因为我想通过最近发布的 Google Fit API 访问心跳数据。
我认为没有必要在 watch 上启用 Debug模式,但我已经试过了。另外,我不认为添加 BODY_SENSORS
权限是必要的,因为整个过程无论如何都是由 Google Fit API 管理的,但我也尝试过但没有成功。
最佳答案
Samsung Gear Live watch 不会将自己宣传为 BLE heart rate monitor因此不会通过正常的 Bluetooth Low Energy API 提供心率数据或基于它构建的 Google Fit API。
关于android - 为什么我的可穿戴设备未在 Google Fit API 中列为数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822432/
我是一名优秀的程序员,十分优秀!