Сбор данных о частоте пульса в реальном времени из Google Fit Sensor API - PullRequest
2 голосов
/ 19 июня 2020

В настоящее время я работаю над фитнес-приложением android, которое использует внешнее устройство измерения пульса и собирает данные по протоколу Bluetooth с низким энергопотреблением. Однако поддерживать это устройство действительно сложно, я подумываю о замене пульсометра на Google Fit API и использование внешних данных из других источников и т. Д. c. Android Watch.

Я купил TicWatch Pro (https://www.mobvoi.com/eu/pages/ticwatchpro) и попытался подписаться на темы о частоте пульса через Sensor API, но, к сожалению, API не нашел источника данных для Тип данных TYPE_HEART_RATE_BPM. Я могу получить только данные со своего мобильного телефона, например местоположение, и ничего больше. С помощью History API данные доступны в моем TicWatch Pro.

Кроме того, я проверил все разрешения, и все было предоставлено. Разрешения учетной записи Google + Разрешение местоположения + Разрешение датчика тела + Bluetooth ВКЛ + Местоположение ВКЛ

Fitness.getSensorsClient(this, getGoogleAccount()).findDataSources(
            DataSourcesRequest.Builder()
                    .setDataTypes(DataType.TYPE_HEART_RATE_BPM, DataType.TYPE_LOCATION_SAMPLE)
                    .setDataSourceTypes(DataSource.TYPE_RAW)
                    .build())
            .addOnSuccessListener { dataSources ->
                /**
                 * Only my mobile phone was found as a data source
                 * Missing android watch
                 */
                for (dataSource in dataSources) {
                    Timber.i("Data source found: $dataSource")
                    Timber.i("Data Source type: ${dataSource.dataType.name}")

                    if (dataSource.dataType == DataType.TYPE_HEART_RATE_BPM && dataPointListener == null) {
                        Timber.i("Data source for TYPE_HEART_RATE_BPM found!")
                        registerFitnessDataListener(dataSource, DataType.TYPE_HEART_RATE_BPM)
                    }
                }
            }
            .addOnFailureListener { e -> Timber.e(e.localizedMessage) }

Можно ли подписаться непосредственно на данные Google Fit Sensor? Может ли кто-нибудь поделиться опытом использования Google Fit API и Sensor API (https://developers.google.com/fit/android/sensors)? Или это может быть проблема с TicWatch Android Wear?

Буду признателен за любой ответ, большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...