Как описано в руководстве по Android Оставьте экран включенным , вы можете сделать это несколькими способами.Вы можете установить FLAG_KEEP_SCREEN_ON в окне действия:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Эквивалентом XML для этого является добавление атрибута android:keepScreenOn="true"
в корневое представление макета вашей деятельности.Преимущество установки флага программно заключается в том, что вы можете использовать
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
, когда вам больше не нужно заставлять экран оставаться включенным во время работы.
Другой способ управленияscreen (и некоторые другие ресурсы) должны использовать блокировку пробуждения:
mWakeLock = ((PowerManager) getContext().getSystemService(Context.POWER_SERVICE))
.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass().getName());
mWakeLock.acquire();
// screen stays on in this section
mWakeLock.release();
Манифест должен включать это разрешение:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
Однако, как обсуждалось в руководстве,wake-блокировка больше подходит для других случаев использования (например, для службы или фоновой задачи, требующей, чтобы ЦП продолжал работать, пока экран выключен).