Необходимо быть в состоянии вставить следующее в окно терминала удара.
цветовая палитра 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
Вот что я сделал, чтобы обойти необходимость сделать спать экрана. Вы можете сделать это в окне деятельности. Я сочетал его с уменьшением таймаута сна до 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?
setScreenState ... делает то, что я хочу, но это скрытый API. Значит ли это, что я не следует его использовать?
Да, значит, вам не следует его использовать. В этом случае весь класс будет исключен из SDK. Придерживайтесь SDK .