Перш ніж позначити цю публікацію як "дублікат", я пишу цю публікацію, оскільки жодна інша публікація не містить рішення проблеми.
Я намагаюся вимкнути пристрій, а потім через кілька хвилин або заміну датчика ввімкніть його знову.
Вимкніть тести дисплея
Я можу вимкнути екран, використовуючи:
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.