Intereting Posts
   

为什么我的可穿戴设备未在Google Fit API中列为DataSource?

我正在尝试使用Samsung Gear Live手表的心率监测器。 这款手表配有4.4.4手机,工作正常。 我正在关注官方的BasicSensorsApi示例 。

我可以使用以下范围成功连接到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() { @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_CUMULATIVETYPE_LOCATION_SAMPLE ,则列表将包含我的手机,这似乎是合乎逻辑的。

为什么手表没有被列为可用的DataSource呢?

请注意:这不是重复:

  1. 从“传感器”Samsung Gear Live获取心率
  2. 如何在Android Wearable中访问心率传感器?

因为我想通过最近发布的Google Fit API访问心跳数据。

我不认为在手表上启用调试模式是必要的,但我已经尝试过了。 此外,我不认为添加BODY_SENSORS权限是必要的,因为整个过程无论如何都是由Google Fit API管理的,但我也尝试过,但没有运气。

三星Gear Live手表不会将自己宣传为BLE心率监测器 ,因此无法通过普通的蓝牙低功耗API或基于它构建的Google Fit API提供心率数据。