Всякий раз, когда на моем планшете появляется всплывающее окно « батарея разряжена », яркость становится полной. Это не имеет смысла, потому что яркость должна быть уменьшена до минимума, а не до максимума, так как батарея разряжена. Это также раздражает, так как я должен уменьшить яркость.
Я искал в настройках, чтобы отключить это, но не нашел такой опции.
Итак, как мне предотвратить увеличение яркости на 100% при появлении всплывающего окна с низким уровнем заряда батареи ?
Я использую Android Kitkat 4.4.2, и мой планшет не имеет root-прав.
Автоматизация является предпочтительным вариантом или, скорее, единственным вариантом в данном случае, поскольку ОС Android не предлагает никаких настроек для указанных требований.
Доступно множество приложений. Я предпочитаю использовать MacroDroid , так как он бесплатный (до 5 макросов) и прост в освоении.
MacroDroid создает и запускает макросы для автоматизации
Макрос состоит из следующего (доработка справки по приложению):
Вызывать
События, происходящие на устройстве (например, входящие SMS, вставленные наушники). Множественные триггеры оцениваются как логические (ИЛИ), что означает, что любое из условий триггера вызовет запуск макроса.
Действия
Действие, которое может выполнять устройство (например, установить обои, сделать снимок)
Ограничения
Ограничение, которое должно быть выполнено для срабатывания триггера (например, день недели, уровень заряда батареи). Множественные ограничения оцениваются как логические (И), что означает, что все ограничения должны быть удовлетворены для срабатывания триггера.
Примечания к предлагаемому решению
Проверено на КитКат. Я не вижу проблем с более высокими версиями Android.
Это не может «читаться», когда появляется индикация низкого уровня заряда батареи, но для этого макроса предполагается, что он составляет 15%. Вы можете посмотреть уровень заряда батареи в своем планшете и соответственно настроить макрос
Не требует рута
Это решение не касается объяснения системы Android высокой/низкой яркости и того, как они активируются.
Настройки системы
Не делайте Greenify MacroDroid и исключайте его из тасккиллеров, если вы их используете.
Включите MacroDroid в «Автоматическая защита» (телефоны Huawei) или «Режим выносливости» (телефоны Sony или «Power Nap» (модуль Stamina Mode Xposed для устройств, отличных от Sony). Кроме того, если в будущем вы обновитесь до Marshmallow, исключите MacroDroid из Doze. , См. это: есть ли способ исключить приложение из Doze?
Эти функции предотвращают активность приложений, когда устройство не находится в активном состоянии, что позволяет экономить заряд батареи. Может не иметь отношения к вашему телефону, но добавьте это в качестве общей меры предосторожности.
Включите MacroDroid в настройках специальных возможностей, а также разрешите его в качестве администратора устройства в настройках безопасности.
Для Lollipop включите доступ к уведомлениям в настройках уведомлений.
tl;dr: Ваш макрос будет выглядеть так
Триггер :
Уровень заряда батареи → уменьшается до → (выберите процент по скользящей шкале или 15 %)
Действия :
Ограничения :
Нет (Макрос всегда запускается)
Тестирование макроса
Назовите и сохраните макрос и из трехкнопочного меню справа.
Тестовые действия: чтобы увидеть, как макрос ведет себя при каждом действии без ссылки на условия триггера/ограничения .
Тестовый макрос: чтобы увидеть, как макрос ведет себя так, как ожидалось (со ссылкой на триггер/действие/ограничения, то есть макрос в целом)
Поиск неисправностей
Макрос вообще не запускается . В большинстве случаев это происходит из-за того, что не применяются правильные системные настройки. Чтобы убедиться в этом, в разделе справки с тремя кнопками в главном интерфейсе приложения выберите « Системный журнал» и посмотрите, запускался ли ваш макрос при его запуске. Если имя вашего макроса не фигурирует, перепроверьте системные настройки.
Примечание: приведенное ниже решение требует, чтобы ваш Android был рутирован.
Я считаю, что автоматизация без рута не будет решать проблему напрямую, поскольку она ничего не меняет и не переопределяет, а делает что-то свое поверх существующих изменений. Я собирался опубликовать аналогичные строки, пока не понял, что ключом к решению является файл с именем max_brightness
, файл под /sys
, следовательно, часть ядра Linux и непосредственно им управляемая. Я обнаружил, что установка предела яркости в этом файле — лучший способ сделать это. Вы можете не согласиться с лучшим решением.
Я заметил, что после того, как ваша пользовательская максимальная яркость установлена, ни Android, ни приложение не могут установить яркость выше этого пользовательского уровня, если они не изменят содержимое этого файла, что часто у приложения нет причин для этого, и ни одно из них также не изменилось. Кроме того, файл принадлежит root и является частью группы root, поэтому любому приложению или даже system_server потребуются привилегии root для внесения изменений в этот файл.
Найти этот файл немного сложно. На моем устройстве MTK с Android 4.2 этот файл находится под расширением /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/
.
На моем устройстве Qualcomm с Android 5.0.2 и выше файл оказался в формате /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/
.
Я предполагаю, что лучший способ найти этот файл — запустить поисковый запрос (настройте для этого adb ), например:
(Требуется Busybox )
adb shell su -c 'find /sys/ -type f -iname "max_brightness"'
В моем устройстве Qualcomm вывод, который он дает:
/sys/devices/f9924000.i2c/i2c-2/2-0068/светодиоды/красный/max_brightness /sys/devices/f9924000.i2c/i2c-2/2-0068/светодиоды/синий/max_brightness /sys/devices/f9924000.i2c/i2c-2/2-0068/светодиоды/зеленый/max_brightness /sys/devices/mdp.0/qcom,mdss_fb_primary.168/светодиоды/ЖК-подсветка /max_brightness /sys/devices/qcom, камера-светодиодная-вспышка.81/светодиоды/фонарик/max_brightness /sys/устройства/msm_sdcc.1/светодиоды/mmc0::/max_brightness /sys/устройства/msm_sdcc.2/светодиоды/mmc1::/max_brightness /sys/devices/01-qcom, светодиоды-d300/светодиоды/светодиоды:flash_torch/max_brightness /sys/devices/01-qcom, светодиоды-d300/светодиоды/светодиоды: flash_0/max_brightness /sys/devices/01-qcom, светодиоды-d300/светодиоды/светодиоды: flash_1/max_brightness /sys/devices/01-qcom, светодиоды-e200/светодиоды/kpdbl-lut-2/max_brightness /sys/devices/01-qcom, светодиоды-e200/светодиоды/kpdbl-pwm-3/max_brightness /sys/devices/01-qcom, светодиоды-e200/светодиоды/kpdbl-pwm-4/max_brightness /sys/devices/01-qcom, светодиоды-e200/светодиоды/подсветка кнопок/max_brightness
Место, где lcd-backlight
упоминается, было единственным, которое имело для меня смысл, и именно так я нашел файл на своем устройстве. Не беспокойтесь, спрашивая о других. Я попытался изменить яркость экрана и искал изменения в названном файле brightness
(также расположенном в указанных местах). Ни один из них не отражал правильный вывод, кроме того, что в /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight
.
Только для демонстрации, попробуйте установить ограничение вmax_brightness
adb shell su -c 'echo LIMIT > PATH_TO_MAX_BRIGHTNESS' # in my case PATH_TO_MAX_BRIGHTNESS is /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/ and set LIMIT to a value less than 30 (not limited to).
Теперь попробуйте увеличить яркость с помощью ползунка яркости или стороннего приложения, и вы заметите, что яркость вашего экрана не превышает определенной точки, даже если ползунок или конфигурация приложения кажутся максимальными. Яркость для этой «определенной точки» наверняка будет меньше той, к которой вы привыкли по умолчанию.
Обратите внимание , что максимальное значение max_brightness часто равно 255, а яркость находится в диапазоне от 0 до 255. Часто, не всегда правда, т.е. И не бойтесь установить ограничение на 0. Это приведет к тому, что экран не загорится, пока вы не отмените изменения или не перезапустите устройство.
Найдите предел, который не будет мешать вам спать или сильно разряжать батарею, когда батарея разряжается.
Для автоматизации используйте любое приложение автоматизации, которое может запускать команду с привилегиями root и при соблюдении контекста предпочитаемого вами триггера. Я рекомендую триггер на основе времени.
Некоторые рабочие примеры:
В Tasker настройте профиль с предпочитаемым контекстом, создайте задачу и используйте действие: Код → Запустить оболочку:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
В MacroDroid настройте предпочитаемый триггер и для действия установите Secure Settings , выберите его → Действия → Выполнить команду:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
В Automate , как часть вашего потока, при настройке действия для вашего триггера выберите команду Shell superuser в разделе «Приложения» и выполните:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
Обязательно установите все разрешения, необходимые для потока.
В DroidAutomation настройте свой триггер и под задачей выберите Root → Выполнить командную строку и введите:echo LIMIT > PATH_TO_MAX_BRIGHTNESS
Как вы уже догадались, вам придется настроить два профиля для каждого приложения. Один для установки предела, а другой для установки максимальной яркости по умолчанию, к которой вы привыкли.
Таскер
android.intent.action.BATTERY_LOW
.макродроид
Следуйте ответу Бишаймса, чтобы настроить триггер
Автоматизировать
Перейдите в «Приложения» → «Прием трансляций» → оставьте все нетронутым, но выберите «Батарея разряжена» в «Действии».
Автоматизация дроидов
Выберите «Низкий заряд батареи» в разделе «Добавить триггер».
Я хотел бы, чтобы вы учитывали , что использование триггера низкого заряда батареи или 100% батареи помешает цели этого ответа, которая состоит в том, чтобы отменить изменения, которые Android хочет внести. Например, если вы устанавливаете LIMIT на 0 всякий раз, когда батарея достигает 100%, что произойдет, если ваш Android будет освещать экран до максимума, как обычно, и через несколько миллисекунд (вы правильно прочитали) ваше приложение автоматизации запустится и установит предел. Ваш сон может быть прерван в эти миллисекунды.
В другой ситуации, когда система сообщает о низком уровне заряда батареи, планшет Крутого Парня может оказаться с максимально освещенным экраном, и через несколько миллисекунд яркость упадет до LIMIT.
Обходной путь заключается в том, чтобы установить уровень заряда батареи на 16 или более для триггера низкого заряда батареи и 99 или менее для полного заряда батареи.
Попробуйте использовать приложение под названием Screen filter. ВНИМАНИЕ: Не устанавливайте яркость ниже 17, потому что вы ничего не видите. Вы можете написать на ночь, и человек, сидящий рядом с вами, даже не увидит
Отказ от ответственности: не тестировалось на Lollipop, так как мое устройство НЕ на Lollipop, мое устройство не делает экран ярче при полной зарядке. Попросит пользователей OP или Samsung S4 galaxy подтвердить. Теоретически должно работать
Firelord в своем решении подчеркнул тот момент, что мое предыдущее решение влечет за собой то, что экран загорается на миллисекунды , что может вызвать нарушение работы OP. Однако его метод включает в себя рутирование и идентификацию файла для изменения максимальных уровней яркости.
ИМО, этому подходу не хватает универсальности, поскольку он применим к тем, у кого есть root-права и есть понимание, как идентифицировать файл для изменения уровней яркости (помимо технических достоинств). Следовательно, я представляю альтернативное решение, которое дает аналогичные результаты, но без рутирования .
Это включает в себя использование приложения для фильтрации экрана Darker . Это доступно в бесплатной версии (которая может уменьшить яркость до 20%) и версии Pro (которая может уменьшить яркость ниже 20%, вплоть до нулевой яркости). Описание приложения, соответствующее здесь, говорит
Темнее может понизить яркость экрана до очень низкого уровня, чтобы предотвратить усталость глаз в ночное время.
Логика макроса:
Когда зарядное устройство отключается вручную при пробуждении, нажмите кнопку остановки приложения, чтобы вернуться к нормальной яркости (из панели уведомлений).
Если есть необходимость ответить на звонок или текстовое сообщение, либо вручную сделайте вышеописанное, либо добавьте как ограничение в макросе
Ваш макрос будет выглядеть так
Триггер :
*Питание подключено/отключено → подключено
Действия :
Ограничения :
Нет (Макрос всегда запускается)
Примечание
Везучий
Спикатрикс
Повелитель огня
/sys
), сброса настроек или системных настроек, которые, как вы сказали, не существуют. // В приложении Tasker есть действие,Display -> Brightness
которое может переопределить настройки, которым следует ваша система. Мне придется подождать 15% для тестирования в моей системе.Спикатрикс
Спикатрикс
Спикатрикс
Повелитель огня
Лео Леопольд Герц 준영
Повелитель огня
Лео Леопольд Герц 준영