Я делаю приложение, которое включает и выключает экран с помощью датчика приближения. Код приближения завершен, но у меня возникли проблемы с использованием элементов управления на экране.
Я читал, что я должен использовать,
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();
Но когда я это делаю, ничего не происходит.
Есть ли другой способ сделать это?