Почему мой носимый предмет не указан как источник данных в Google Fit API?
Я пытаюсь получить доступ к монитору сердечного ритма часов 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<DataSourcesResult>() {
@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_CUMULATIVE
или же TYPE_LOCATION_SAMPLE
, список будет содержать мой телефон, что кажется логичным.
Почему часы не указаны как доступные DataSource
затем?
Пожалуйста, обратите внимание: это не дубликат:
- Получите пульс от "Датчика" Samsung Gear Live
- Как получить доступ к датчику сердечного ритма в Android Wearable?
потому что я хочу получить доступ к данным о сердцебиении через недавно выпущенный Google Fit API.
Я не думаю, что включение режима отладки на часах необходимо, но я попробовал это. Кроме того, я не думаю, что добавление BODY_SENSORS
разрешение необходимо, потому что в любом случае весь процесс управляется Google Fit API, но я тоже попробовал это, но безуспешно.
1 ответ
Часы Samsung Gear Live не рекламируются как монитор сердечного ритма BLE и, следовательно, не предоставляют данные о сердечном ритме через обычный Bluetooth Low Energy API или API Google Fit, который построен на нем.