В настоящее время я работаю над фитнес-приложением 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?
Буду признателен за любой ответ, большое спасибо.