Я создаю приложение, которое должно включать / выключать экран, когда пользователь встряхивает телефон. Пока у меня есть SensorEventListener, который слушает сотрясения, как предложено в ответе на этот вопрос .
Когда я обнаруживаю дрожание, я изменяю значение яркости экрана, как предложено в ответе на этот вопрос . Все это прекрасно работает, если я на самом деле не выключаю экран ... если я устанавливаю яркость 0,01f по методу public void setBright(float value)
, он работает отлично. Однако, если я установлю яркость на 0.0f, телефон не будет снова поворачивать экран ... по крайней мере, пока я не нажму кнопку питания.
Возможно ли то, что я пытаюсь сделать? что я делаю не так?
- РЕДАКТИРОВАТЬ -
Благодаря Dre и icyerasor Я углубился в проблему. Я получаю PARTIAL_WAKE_LOCK , прежде чем установить яркость на 0.0f, но он все равно не включается, когда я встряхиваю телефон. Однако, когда я отлаживаю приложение, я вижу, что setBright (1.0f) вызывается нормально, когда я встряхиваю телефон с выключенным экраном; Я подозреваю, что экран блокировки как-то портит, так как он срабатывает, когда я нажимаю кнопку питания. После нажатия кнопки питания приложение продолжает работать как обычно. Есть ли способ обойти экран блокировки?
Спасибо за вашу помощь!