Я делаю приложение, которое включает и выключает экран с датчиком приближения.
Код приближения закончен, но у меня возникли проблемы с использованием элементов управления на экране.
Я прочитал, что я должен использовать,
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
Для этого мне нужно предоставить специальные разрешения, чтобы это работало, но я не выяснил, как это сделать.
Также я прочитал об изменении яркости экрана
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Но этот способ только выключает экран в моем приложении; это не работает, если мое приложение работает в фоновом режиме.
Я также читал об использовании Wakelock (я использую их, чтобы вывести телефон из экрана), но когда
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
Но когда я это делаю, ничего не происходит.
Есть ли другой способ сделать это?