Что такое устаревший способ программного включения экрана на Android - PullRequest
1 голос
/ 27 марта 2020

Поиск в Google и проверка SO-ответов дает мне много вариантов, как включить экран для Android, например , этот . Но все они используют один или несколько устаревших методов или перечислений. Если я попробую замены, они не будут работать. Моя цель - сделать это в начале инструментальных испытаний без использования устаревших методов.

Вот мои попытки

A)

val power = context.getSystemService(POWER_SERVICE) as PowerManager
val wakeLock = power.newWakeLock(FULL_WAKE_LOCK or ACQUIRE_CAUSES_WAKEUP or ON_AFTER_RELEASE, "tag")
wakeLock.acquire()

Работает, но использует устаревший enum FULL_WAKE_LOCK. Снятие этого флага приводит к ошибке, указывающей мне указать уровень. В устаревшей инструкции do c говорится, что вместо нее лучше использовать android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON. Поэтому я пытаюсь сделать это в B:

B) В onCreate:

window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Это не включило экран.

C)

Я также заметил, что в манифесте есть пара интересных флагов для действия, которое нужно установить. Я попытался:

android:turnScreenOn="true"
android:showWhenLocked="true"

Это не включило экран

Пока работает решение А, я стараюсь использовать функции, не подлежащие устареванию. Это больше академический вопрос. Кто-нибудь знает, как программно включить экран, не используя устаревшие функции или константы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...