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. Надеюсь это поможет!

Другие вопросы по тегам