2017-01-17 18 views
3

Я собираю данные акселерометра в своем лице и, как только устройство переходит в режим окружающей среды, компьютер переводится спать.Частичный wakelock не работает на износе android

Я попытался добавить partial_wakelock на создание, но он все еще не работает, полный Wakelock отлично работает, но я хочу, чтобы у вас был доступ к окружающему режиму, например, при записи в защите.

Любая идея не в порядке?

 powerManager = (PowerManager) getSystemService(POWER_SERVICE); 
     //wl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "awake"); 

     wl = powerManager.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "MyWakelockTag"); 

Прокомментированная линия не работает.

Я покупаю аквариум и регистрирую акселерометр.

Это очень неприятная проблема, и я не могу узнать, что я делаю неправильно.

ответ

0

In breif это нормально. Расслабьтесь.

Для зарядки аккумулятора некоторые устройства Android переходят в режим сна и отключают режим Bluetooth. Чтобы стать активным, я только что нашел, что работает только FULL_WAKE_LOCK. Может быть, я бот, но это мой опыт. Другие опции, которые помогают экономить аккумулятор, также должны быть отключены в настройках ОС Android.

0

На основании documentation вы можете получить экземпляр класса PowerManager по телефону Context.getSystemService().

Вы можете попробовать использовать это:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 

вместо

powerManager = (PowerManager) getSystemService(POWER_SERVICE); 

В дополнение к этому, вы не можете использовать ACQUIRE_CAUSES_WAKEUP и ON_AFTER_RELEASE с PARTIAL_WAKE_LOCK.

Также обратите внимание, что любое приложение, использующее WakeLock, должно запросить разрешение android.permission.WAKE_LOCK в элементе <uses-permission> манифеста приложения.

+0

ACQUIRE_CAUSES_WAKEUP был добавлен позже только для тестирования, если он сделал разницу. Я пробовал свой путь раньше, но не успел, я постараюсь использовать мой moto360, если это произойдет, когда производители реализуют режим окружающей среды, который является виновником, или если это ошибка Google. Разрешение установлено. – user2676748