Moto 360 не может получить доступ к датчику сердцебиения
У меня были некоторые проблемы с доступом к датчику сердцебиения на Moto 360 в проекте Android Wear. Используя код:
for (Sensor sensor : mSensorManager.getSensorList(Sensor.TYPE_ALL)) {
Log.e("HB Service", sensor.getName() + ": " + sensor.getType());
}
Я обнаружил, что датчик сердцебиения и датчики хорошего самочувствия не отображаются в этом списке. Я также пытался использовать Sensor.TYPE_HEART_RATE, но в любом случае регистрация слушателя говорит, что датчик нулевой. У кого-нибудь есть совет, чтобы заставить это работать?
1 ответ
Убедитесь, что вы поместили разрешение ниже для данных тела в ваш Manifest.xml:
uses-permission android:name="android.permission.BODY_SENSORS"
Другой обходной путь в этой теме:
Sensor.TYPE_HEART_RATE на самом деле правильный идентификатор. У меня была та же проблема: датчик был нулевым, хотя у меня было разрешение BODY_SENSORS в манифесте. Я исправил это, удалив приложение, перезапустив часы и запросив разрешение BODY_SENSORS во время выполнения (см. https://developer.android.com/training/articles/wear-permissions.html). После этого я получил системный диалог для разрешения датчика тела, и затем я начал получать обновления от датчика.
Также убедитесь, что у вас установлена последняя версия SDK. Надеюсь это поможет!