Вызов скрытого API в андроиде для выключения экрана

Необходимо быть в состоянии вставить следующее в окно терминала удара.

цветовая палитра ANSI Дисплея:

e="\033["
for f in 0 7 `seq 6`; do
  no="" bo=""
  for b in n 7 0 `seq 6`; do
    co="3$f"; p="  "
    [ $b = n ] || { co="$co;4$b";p=""; }
    no="${no}${e}${co}m   ${p}${co} ${e}0m"
    bo="${bo}${e}1;${co}m ${p}1;${co} ${e}0m"
  done
  echo -e "$no\n$bo"
done

256 цветных демонстраций:

yes "$(seq 232 255;seq 254 -1 233)" |
while read i; do printf "\x1b[48;5;${i}m\n"; sleep .01; done
13
задан Vadim Kotov 24 July 2017 в 10:39
поделиться

2 ответа

Вот что я сделал, чтобы обойти необходимость сделать спать экрана. Вы можете сделать это в окне деятельности. Я сочетал его с уменьшением таймаута сна до 5 сек для этой пользовательской пластинки блокировки. Вы можете просмотреть все мои источники на своей странице проекта, но вот соответствующая часть о повороте экрана выключена, которая работала для меня на дроиде.

public void setBright(float value) {
    Window mywindow = getWindow();
    WindowManager.LayoutParams lp = mywindow.getAttributes();
    lp.screenBrightness = value;
    mywindow.setAttributes(lp);
}

//call this task to turn off the screen in a fadeout.


class Task implements Runnable {
    public void run() {                
        if (bright != 0) {
            setBright(bright/100); //start at 10% bright and go to 0 (screen off)
            bright--;
            serviceHandler.postDelayed(myTask, 100L);
        } else {
            setBright((float) 0.0); 
            bright = 10;//put bright back
        }
    }
}

Я использовал задачу обработчика в качестве теста для метода, оно сработало, когда я позвонил его от Offacked в первой сборке. Сейчас у меня просто есть SetBright на 0.0 на onCreate. Это делает его, чтобы экран на самом деле не включается, даже если мой пользователь просыпает процессор с помощью случайного нажатия клавиши громкости. Когда я хочу, чтобы экран продолжал, у меня есть ключевое SetBright Call Call Call для значения, превышающего 0 (1,0 означает, что Max Bright). Мне очень повезло, что это работает для моей собственной активности блокировки. Я обнаружил, что изменение системы систем буквальной яркости не работает так, и не выключит экран.

Ознакомьтесь с моим другим источником на моем проекте SVN http://code.google.com/p/mylockforAndroid/source/checkout

Как сильно вы думаете, чтобы попросить команду Android добавить Поддержка выключения экрана или определение того, должен ли экран проснуться через замену блокировки посредника, аналогично тому, как вы можете запрограммировать альтернативное приложение Home Launcher?

11
ответ дан 2 December 2019 в 00:31
поделиться

setScreenState ... делает то, что я хочу, но это скрытый API. Значит ли это, что я не следует его использовать?

Да, значит, вам не следует его использовать. В этом случае весь класс будет исключен из SDK. Придерживайтесь SDK .

1
ответ дан 2 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: