Я пытаюсь определить, выключен ли экран. Пробовал с BroadcastReceiver
, но не работал должным образом.isScreenOn() возвращает true, когда экран выключен
Так что я попробовал с менеджером электропитания isScreenOn()
в onPause()
, и он отлично работает. Но я заметил, что когда я нажимаю кнопку питания, чтобы заблокировать экран, а затем сразу же нажмите его еще раз, чтобы разблокировать его, isScreenOn()
возвращает true.
Вы можете мне помочь?
Я не могу найти решение по этому вопросу.
Вот код:
@Override
public void onPause() {
super.onPause();
//registBroadcastReceiver();
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
boolean isScreenOn = powerManager.isScreenOn();
if (!isScreenOn) {
Log.d("Screen", "OFF");
flag1 = true;
}
}
Что вы хотите сказать? Если isScreenOn() не вызван, вы не можете сказать, что он работает неправильно. – CurlyCorvus
проблема в том, что isScreenOn не вызывается только в том случае, если я дважды нажимаю кнопку питания в строке – smns15
вам удалось исправить это? – jonney