Ответ 1
В настоящее время нет лучшей альтернативы фактическому использованию устаревшего WakeLock.
На самом деле у вас есть другая альтернатива (но не лучше). Вы можете использовать FLAG_KEEP_SCREEN_ON
в сочетании с изменением яркости системы вручную изнутри вашей деятельности (пример).
Но что, если это не так?
У меня похожая ситуация, в которой мне нужен экран постоянно из Service
(поэтому Activity.getWindow() недоступен). В этом случае я использую устаревший WakeLock, пока Android не придумает новый API.