Есть ли способ быстро отключить экран, не переводя Android в спящий режим?
Например, мне иногда нравится использовать приложение Calm, когда я сплю. Но постоянно держит экран включенным. Когда я просто использую это приложение в течение 10 минут, здорово, что оно держит экран включенным; но если я сплю часами, я бы хотел, чтобы приложение продолжало работать (играло звуки) и выключало экран.
Как это может быть сделано?
Кредит принадлежит Firelord за основной метод. Вот скрипт оболочки с временной задержкой, который отключает подсветку для моего устройства, и видимо для других тоже.
Создайте файл с именем «lcdoff» и скопируйте в него следующее:
#!/system/bin/sh
if [ -z "$1" ]; then
echo "usage: `basename $0` delay"
exit
fi
su -c 'echo getsu > /dev/null'
echo "Tap power button 2x quickly to restore"
sleep $1
su -c 'echo 0 > /sys/class/leds/lcd-backlight/brightness'
Убедись:
chmod 755 lcdoff
./system/bin
(скрипты не могут выполняться из /storage
).Затем откройте терминальное приложение и введите lcdoff 10
, чтобы выключить экран после 10-секундной задержки, lcdoff 30
30-секундной задержки и т. д. Чтобы убедиться, что процессор остается включенным, просто включите опцию разработчика Android «Не спать» . Редактировать: «Бодрствование» работает только при подключении к источнику питания — альтернативу см. в этом ответе .
Если вы не хотите вводить команду в терминале, вы можете запустить скрипт как пользовательское действие в:
if [ "$1" == "0" ]; then su -c 'echo sbylock >/sys/power/wake_unlock'; elif [ "$1" == "1" ]; then su -c 'echo sbylock >/sys/power/wake_lock'; lcdoff 0; else echo "usage: $(basename $0) 0|1"; fi
У меня были некоторые проблемы с принятым ответом, так как я не очень хорошо разбираюсь в сценариях оболочки на Android/Unix/Linux, поэтому я подумал, что добавлю сюда свой опыт для всех, кто находится в похожей лодке.
Чтобы это работало с Tasker или подобным, вам нужна строка:
echo 0 > /sys/class/leds/lcd-backlight/brightness
Для Tasker поместите это в поле «команда» с включенным «Использовать рут», работает как шарм. Чтобы отключить, просто замените ноль на 1, следовательно:
echo 1 > /sys/class/leds/lcd-backlight/brightness
или заблокировать и разблокировать устройство.
Итак, чтобы ответить на ваш вопрос о быстром переключении этого поведения. Назначьте каждую из вышеперечисленных команд задаче Tasker, после чего вы сможете использовать новый перехват при длительном нажатии в последней версии Tasker, чтобы включать и выключать экран, не переводя устройство в спящий режим. В качестве альтернативы вы можете назначить команду профилю, который срабатывает при выполнении ваших условий.
ГигантДерево
RockPaperLz - Замаскируй или Шкатулка
ГигантДерево
Повелитель огня
RockPaperLz - Замаскируй или Шкатулка
Повелитель огня
/sys/class/leds/lcd-backlight/brightness
на 0 делает работу на моем устройстве. Он не переводит устройство в спящий режим, а просто выключает светодиоды. Протестировано в этом приложении Calm. Вы можете слушать его музыку, но при этом не сжигать батарею на экране. Однако требуется root-доступ.RockPaperLz - Замаскируй или Шкатулка
Повелитель огня
RockPaperLz - Замаскируй или Шкатулка
Повелитель огня