1

我正在开发一款适用于 Android 的应用程序(仅适用于智能手机),我想使用 smartwatch(Polar Unite 健身手环)中的 googleApiClient(Google Fit)监测持续心率。

我为查找数据源所做的工作:

/** Finds available data sources and attempts to register on a specific [DataType].  */
private fun findDataSource(){
    Fitness.getSensorsClient(this, getGoogleAccount()).findDataSources(
        DataSourcesRequest.Builder()
            .setDataTypes(DataType.TYPE_HEART_RATE_BPM)
            .setDataSourceTypes(DataSource.TYPE_RAW)
            .build())
        .addOnSuccessListener { dataSources ->

            for (dataSource in dataSources) {
                Log.i(TAG,"Data source found: $dataSource")
                Log.i(TAG,"Data Source type: ${dataSource.dataType.name}")

                if (dataSource.dataType == DataType.TYPE_HEART_RATE_BPM && dataPointListener == null) {
                    Log.i(TAG,"Data source for TYPE_HEART_RATE_BPM found!")
                    registerFitnessDataListener(dataSource, dataSource.dataType)
                }
            }
            if (dataSources != null && dataSources.size == 0){
                Log.i(TAG,"No data source found")
            }
        }
        .addOnFailureListener { e -> Log.e(TAG,"failed",e) }
}

No Data Source found for heart rate 但是当我将 DataType 更改为 时DataType.TYPE_LOCATION_SAMPLE,它只显示我的手机作为数据源和缺少极地手表。任何人都可以让我知道原因或我犯错的地方吗?

4

0 回答 0