Я выключаю экран, когда появляется правильная команда.
ВЫКЛЮЧИТЬ ЭКРАН:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0.0f;
getWindow().setAttributes(params);
Это работает нормально. По крайней мере, так кажется.
Но когда приходит команда на включение экрана - не работает. Это код включения:
ВКЛЮЧИТЕ ЭКРАН:
WindowManager.LayoutParams on = getWindow().getAttributes();
on.screenBrightness = 0.7f;
getWindow().setAttributes(on);
Яркость не поднимается. И я не знаю, почему.
Но когда я изменяю screenBrightness в TURN OFF SCREEN на params.screenBrightness = 0.1f; тогда яркость экрана не совсем черная, но очень низкая. И если это 0,1f, я могу вызвать функцию BrightnessUp, и яркость экрана будет на нужном уровне.
В общем, я не могу установить яркость выше, если раньше она была 0,0f, только если она 0,1f или выше.
Я также попробовал это решение, чтобы выключить экран:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "screenWakeLock");
screenWakeLock.acquire();
Манифест:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DEVICE_POWER"/>
Но это все равно не работает.
Поэтому я надеюсь, что есть кто-нибудь, кто поможет мне и даст мне решение этой проблемы.