Прежде чем отмечать этот пост как "дубликат", я пишу этот пост, потому что никакая другая почта не имеет решения проблемы.
Я пытаюсь выключить устройство, а затем через несколько минут или сменить датчик, снова включите его.
Отключить показания дисплея
Я могу отключить экран, используя:
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Мне не удалось отключить экран, используя метод wl.release().
Включить проверку дисплея
Мое первое предположение, как показано ниже, не работает. Ничего не происходит, экран остается выключенным.
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = -1f;
getWindow().setAttributes(params);
Я также попытался использовать wakelocks, без успеха.
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag");
wl.acquire();
Наконец, я пробовал следующее, без результата.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
В целом, я не получаю никаких ошибок в консоли для любого из этих методов. Мой тестовый текст "Экран должен быть включен", находится на экране, когда я включаю устройство с помощью кнопки питания. Это показывает, что код должен работать. Пожалуйста, ответьте только, если вы протестировали код, кажется, что многие из функций, таких как params.screenBrightness = -1
, не работают так, как должны, согласно sdk.