【问题标题】:Android Fitness API not reading data from wearable sensorsAndroid Fitness API 未从可穿戴传感器读取数据
【发布时间】:2016-03-19 21:30:44
【问题描述】:

我一直在阅读有关 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)。

你们有什么线索可以解释为什么我的可穿戴数据源没有出现在结果中吗?

谢谢。

【问题讨论】:

    标签: android wear-os google-fit google-fit-sdk


    【解决方案1】:

    SensorsApi.findDataSources 方法从运行 Activity 的设备(在您的情况下,它是移动设备)获取原始传感器和派生传感器。如果您想将可穿戴设备用作数据源,则需要先通过蓝牙连接到它。尝试使用Bluetooth Scan API!希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多