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