Вопрос или проблема
Я работаю над проектом киоска, используя андроид-таблетку. Если нет входящего питания к киоску в течение долгого времени, то таблетка в конечном итоге выключится. Чтобы автоматически перезагрузить планшет, когда питание восстанавливается, я изменил код в файле анимации батареи моего планшета (ipod), используя:
#!/system/bin/sh
sleep 300
/system/bin/reboot
Однако во время периода ожидания (упомянутого выше) экран планшета остается включенным (и поэтому требуется больше времени для заряда и загрузки планшета). Мне нужно выключить экран.
Какую команду я должен использовать перед командой sleep, чтобы выключить экран планшета во время стадии зарядки/загрузки.
Вы можете использовать эту простую команду, чтобы выключить дисплей
xset dpms force off
Чтобы включить дисплей, вы можете передать on
вместо off
.
ОБНОВЛЕНИЕ:
Если ваш экран не выключается после выполнения этой команды, значит, DPMS (управление питанием дисплея) не включен в вашей системе. Вы можете включить это с помощью команды xset +dpms
.
Метод 2
Сначала определите свой дисплей, используя следующую команду
xrandr -q | grep " connected"
ВЫВОД
VGA1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
Здесь VGA1 — мой дисплей, вы можете получить LVDS1 или любой другой дисплей, который вы подключили. Запомните это имя дисплея и передайте его в следующую команду.
xrandr --output VGA1 --brightness 0.4
0.4 относится к яркости экрана. Она варьируется от 0.0 до 1.0 (вы можете указать 0.0).
Ответ или решение
Для решения вашей задачи с планшетом на базе Android мы можем использовать несколько подходов для управления яркостью экрана, а также выключения экрана во время длительного времени бездействия.
Отключение экрана
В скрипте, который вы модифицировали для автоматической перезагрузки, вы можете добавить команду для отключения экрана. Вместо использования xset dpms force off
, которая не будет работать в системе Android, мы можем воспользоваться специальной командой для Android. Попробуйте использовать следующую команду:
input keyevent 26
Эта команда имитирует нажатие кнопки блокировки экрана, что приводит к отключению дисплея. Добавьте её в ваш скрипт перед командой sleep
:
#!/system/bin/sh
input keyevent 26 # Отключаем экран
sleep 300
/system/bin/reboot
Установка яркости экрана
Если вы хотите изменить яркость экрана вместо его отключения, вы можете использовать следующую команду:
settings put system screen_brightness 0
Значение 0
устанавливает минимальную яркость. Добавьте эту команду перед sleep
:
#!/system/bin/sh
settings put system screen_brightness 0 # Устанавливаем минимальную яркость
sleep 300
/system/bin/reboot
Включение экрана
Если вам нужно будет включить экран после выполнения скрипта, используйте:
input keyevent 26
Эту команду также можно использовать, если вам нужно будет вернуть экран в рабочий режим по истечении времени ожидания.
Заключение
Таким образом, вы можете управлять состоянием экрана вашего планшета, используя команды input keyevent
и settings put
, которые являются специфичными для Android. Убедитесь, что у вашего приложения или скрипта есть необходимые права доступа для выполнения этих команд. Если вы столкнетесь с какими-либо проблемами, возможно, вам нужно будет проверить настройки вашего устройства на наличие разрешений для изменения системных настроек.