Я пытаюсь получить доступ к пульсометру часов 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?
потому что я хочу получить доступ к данным сердцебиения через недавно выпущенный API Google Fit.
Я не думаю, что включение режима отладки на часах необходимо, но я пробовал это. Кроме того, я не думаю, что добавление BODY_SENSORS
разрешения необходимо, потому что весь процесс в любом случае управляется Google Fit API, но я пробовал и это тоже, но безуспешно.
android.support.wearable.view.WatchViewStub
API. См. Идеи по адресу stackoverflow.com/a/31231411/1587329, а относительно часов - по адресу stackoverflow.com/questions/24664217 / 06.07.2015