Я записываю данные датчика, такие как акселерометр, ориентация, гироскоп. Эти данные записываются в файл на обновлении SensorChanged очень часто.
Моя проблема заключается в том, что, когда я переключаю телефон в режим ожидания, данные датчика перестают записываться в файл. Поэтому я провел небольшое исследование и решил настроить его с помощью PowerManager и wake lock
- PARTIAL_WAKE_LOCK: я просто не могу заставить его работать.
- SCREEN_DIM_WAKE_LOCK: мой код будет работать великолепно.
Из того, что я прочитал, похоже, есть проблема с использованием PARTIAL_WAKE_LOCK.
Кажется, я не могу найти однозначного ответа на вопрос, есть ли проблема с ней или нет. Я даже попробовал некоторые методы взлома, предложенные людьми, такие как использование itent для захвата при выключенном экране, а затем отмена регистрации датчиков и их повторная регистрация. Но это решение не сработало. Из того, что я могу собрать, кажется несостоятельным, будет ли это работать или нет, и кажется зависимым от телефона. Я пробовал свой код на HTC Wildfire под управлением Android2.2 и Nexus S под управлением Android2.3.
Мое приложение - это приложение, которое в основном запускается в фоновом режиме с долгосрочным сервисом. Таким образом, наличие PARTIAL_WAKE_LOCK важно для срока службы батареи.