Как предотвратить полный рост яркости при появлении всплывающего сообщения о разряде батареи?

8

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

Я посмотрел в настройках, чтобы отключить это, но не нашел такой опции.

Итак, как предотвратить 100% яркость при появлении всплывающего сообщения о разряде батареи ?

Я использую Android Kitkat 4.4.2 и мой планшет не рутирован.

Spikatrix
источник
Ваша яркость установлена ​​на авто? И вы используете какое-либо приложение для улучшения батареи?
Счастливчик
@ Lucky « Ваша яркость установлена ​​на автоматический? » - у моего планшета такой опции нет. Я держу это на минимуме. « А вы используете какое-либо приложение для улучшения заряда батареи? » - мой планшет поставлялся с «Lenovo Power Manager». Однако он не имеет никакой опции, связанной с яркостью. Так что я не думаю, что это виновник. Но теперь я обнаружил в этом приложении опцию «защитные очки» (затемняет яркость экрана), которая в данный момент отключена. Я попробую это и посмотрю, сможет ли это предотвратить эту проблему. В ожидании
разрядки
Вы пробовали этот вариант защитных очков? Каков результат? Кроме того, у меня нет особой надежды на то, что яркость можно предотвратить без рут-доступа (файл находится под /sys), без заводских настроек или системных настроек, которые, как вы сказали, не существуют. // В приложении Tasker есть действие, Display -> Brightnessкоторое может изменить настройки вашей системы. Мне придется ждать 15%, чтобы проверить в моей системе.
Повелитель огня
@Firelord Я заметил, что опция «Защитные очки», когда она включена, предоставляет мне ползунок, который регулирует яркость. Когда яркость системы минимальна, и когда эта опция включена, ползунок находится на максимальном уровне, а яркость экрана уменьшается ниже, чем минимальный питомник, предоставляемый системой. Уменьшение слайдера при минимальной яркости системы еще больше уменьшает яркость! Но когда яркость системы максимальная, а яркость опции минимальная, яркость экрана низкая, а нижняя полоса имеет полную яркость.
Spikatrix
@Firelord Нижняя панель - это панель с 3 кнопками «Назад», «Домой» и недавними приложениями. Как вы думаете, дополнительная яркость полосы повлияет на батарею? И о! Я не пробовал использовать «защитные очки» для решения проблемы, представленной в этом вопросе. Все еще жду, когда батарея
разрядится

Ответы:

4

Автоматизация является предпочтительным вариантом или, скорее, единственным вариантом в этом случае, поскольку ОС Android не предлагает никаких настроек для указанных требований.

Многие приложения доступны. Я предпочитаю использовать MacroDroid , так как он бесплатный (до 5 макросов) и прост в освоении.

MacroDroid создает и запускает макросы для автоматизации

Макрос состоит из следующего (разработка справки приложения):

Вызывать

Событие (и), происходящие на устройстве (например, входящие SMS, наушники вставлены). Несколько триггеров оцениваются как логические (ИЛИ) - это означает, что любое из выполненных условий триггера вызовет макрос

действия

Действие, которое может выполнять устройство (например, установить обои, сделать снимок)

Ограничения

Ограничение, которое должно быть выполнено для срабатывания триггера (например, день недели, уровень заряда батареи). Множественные ограничения оцениваются как логические (И) - это означает, что все ограничения должны быть выполнены для запуска триггера

Примечания по предлагаемому решению

  1. Проверено на KitKat. Я не вижу никаких проблем с более высокими версиями Android

  2. Он не может «читать», когда появляется индикатор низкого уровня заряда батареи, но для этого макроса предполагается, что он равен 15%. Вы можете увидеть уровень заряда батареи в планшете и соответственно настроить макрос

  3. Не требует рута

  4. Это решение не рассматривает объяснение системы Android высокой / низкой яркости и как они активируются

Настройки системы

  1. Не Greenify MacroDroid и исключить его из убийц задач, если вы их используете.

  2. Включите MacroDroid в «Автозащита» (телефоны Huawei) или «Режим Stamina» (телефоны Sony или «Power Nap» (модуль Stamina Mode Xposed для устройств, отличных от Sony). Кроме того, если в будущем вы обновите приложение Marshmallow, исключите MacroDroid из Doze См. Это: есть ли способ исключить приложение из Doze?

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

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

  2. Для Lollipop включите доступ к уведомлениям из настроек уведомлений


tl; dr: ваш макрос будет выглядеть так

Триггер :

Уровень заряда батареиуменьшается до → (выберите процент по скользящей шкале или 15%)

Действия :

  • Яркость0 ( Выберите На скользящей шкале - не требует корня )
  • Подождите до следующего действия → установите на 10 секунд (рекомендуется разделить предыдущее и следующее действия, чтобы оба они выполнялись)
  • Dim ScreenDimmer On → 10% ( Выберите «На скользящей шкале» - не требует root, если предыдущее действие недостаточно для вас - это сродни «экранным фильтрам» таких приложений, как Darker )

Ограничения :

Нет (макрос всегда запускается)


Тестирование макроса

Назовите и сохраните макрос и из 3 кнопок меню справа

  • Тестовые действия: чтобы увидеть, как ведет себя макрос при каждом действии без ссылки на условия триггера / ограничения

  • Тестирование макроса: чтобы увидеть, как макрос ведет себя как ожидалось (со ссылкой на триггер / действие / ограничения, то есть макрос в целом)

Поиск неисправностей

Макрос вообще не запускается - в большинстве случаев это происходит из-за того, что не применяются правильные системные настройки. Чтобы убедиться в этом, в параметре справки «3 кнопки» в главном интерфейсе приложения выберите « Системный журнал» и посмотрите, запускался ли ваш макрос во время его запуска. Если имя вашего макроса не отображается, перепроверьте системные настройки

beeshyams
источник
3

Примечание: решение ниже требует, чтобы ваш 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/.

Я предполагаю, что лучший способ найти этот файл - запустить поисковый запрос (настройка для этого), таких как:

(Требуется busybox )

adb shell su -c 'find /sys/ -type f -iname "max_brightness"'

В моем устройстве Qualcomm вывод:

/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/red/max_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/blue/max_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/green/max_brightness
/sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight / max_brightness
/sys/devices/qcom,camera-led-flash.81/leds/torch-light/max_brightness
/sys/devices/msm_sdcc.1/leds/mmc0::/max_brightness
/sys/devices/msm_sdcc.2/leds/mmc1::/max_brightness
/ SYS / устройства / 01-QCOM, светодиоды-D300 / СИД / водить: flash_torch / max_brightness
/ SYS / устройства / 01-QCOM, светодиоды-D300 / СИД / водить: flash_0 / max_brightness
/ SYS / устройства / 01-QCOM, светодиоды-D300 / СИД / водить: flash_1 / max_brightness
/ системы / устройства / 01-QCOM, светодиоды-E200 / СИД / kpdbl-LUT-2 / max_brightness
/ системы / устройства / 01-QCOM, светодиоды-E200 / СИД / kpdbl-3-ШИМ / max_brightness
/ системы / устройства / 01-QCOM, светодиоды-E200 / СИД / kpdbl-4-ШИМ / max_brightness
/ SYS / устройство / 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 настройте профиль с предпочтительным контекстом, создайте задачу и используйте действие: Код → Запустить Shell:

    • Команда: echo LIMIT > PATH_TO_MAX_BRIGHTNESS
    • проверьте использование Root
  • В MacroDroid установите предпочитаемый триггер и для действия установите Безопасные настройки , выберите его → Действия → Выполнить команду:

    • Команда: echo LIMIT > PATH_TO_MAX_BRIGHTNESS
    • проверьте использование Root
  • В разделе «Автоматизация» при настройке действия для триггера выберите « Команда суперпользователя» в разделе «Приложения» и выполните:

    • Командная строка: echo LIMIT > PATH_TO_MAX_BRIGHTNESS


    Убедитесь, что установлены все разрешения, необходимые для потока.

  • В DroidAutomation настройте триггер и в разделе задач выберите Root → Выполнить командную строку и введите:echo LIMIT > PATH_TO_MAX_BRIGHTNESS

Как вы уже догадались, вам придется настроить два профиля для каждого приложения. Один для установки предела, а другой для установки максимальной яркости по умолчанию, к которому вы привыкли.

Явные триггеры низкого заряда батареи:

  • Tasker

    • Состояние → Уровень заряда батареи → установить диапазон
    • Альтернатива: Событие → Система → Назначение получено → Оставьте все без изменений, но установите Действие в android.intent.action.BATTERY_LOW.
  • MacroDroid

    Следуйте beeshayms' ответ для настройки триггера

  • Автоматизировать

    Перейдите в Приложения → Вещательный прием → оставьте все без изменений, но выберите Батарея разряжена в действии

  • Droid Automation

    Выберите низкий уровень заряда батареи от Добавить триггер


Я хотел бы, чтобы вы учитывали, что использование триггера с низким уровнем заряда батареи или 100% заряда батареи лишило бы смысла этот ответ, который заключается в отмене изменений, которые Android хочет внести. Например, если вы установите LIMIT в 0, когда батарея достигнет 100%, то произойдет, если ваш Android будет светить до максимума, как обычно, и через несколько миллисекунд (вы правильно прочитали) ваше приложение автоматизации будет работать и установить предел. Ваш сон может быть прерван в эти миллисекунды.

В другой ситуации, когда система сообщает о низком заряде батареи, на планшете Cool Guy может загореться максимум экрана, а через несколько миллисекунд яркость снова упадет до LIMIT.

Обходной путь должен установить уровень заряда батареи до 16 или больше для триггера низкого уровня заряда батареи и 99 или меньше для полного заряда батареи.

Повелитель огня
источник
Не поняли преимущества триггера, основанного на времени, не могли бы вы уточнить? -Угадаю, я заблудился, пытаясь понять системные вещи в вашем решении :)
beeshyams
Моя рекомендация относительно времени триггера не требует дополнительного триггера для "разряженной батареи" или "батареи 100%". Я предполагаю, что независимо от уровня зарядки, OP в течение определенного периода всегда будет спать, так что зачем вообще беспокоиться об уровне зарядки. Просто убедитесь, что система никогда не прерывает спящий режим из-за высокой яркости, несмотря ни на что (вы можете настроить особые условия, например, если вызов поступит в это время, восстановить яркость). На самом деле, это только рекомендация, ничего обязательного. Части моего решения очень независимы.
Повелитель огня
2

Попробуйте использовать приложение под названием «Фильтр экрана». ВНИМАНИЕ: Не устанавливайте яркость ниже 17, потому что вы ничего не видите. Вы можете написать в ночное время, человек, сидящий рядом с вами, даже не увидит

Элвис Фарук Мутури
источник
1

Отказ от ответственности: не тестировался на Lollipop, так как мое устройство НЕ на Lollipop, мое устройство не осветляет экран при полной зарядке. Попросил бы пользователей OP или Samsung S4 galaxy подтвердить. Теоретически должно работать

Повелитель огня в своем решении выдвинул на первый план пункт, что мое более раннее решение влечет за собой то, что экран горит в течение миллисекунд, что может вызвать помехи для ОП. Тем не менее, его метод включает в себя рутирование и определение файла, чтобы изменить максимальные уровни яркости

ИМО, этому подходу не хватает универсальности, так как он применим к тем, кто укоренен и имеет понимание, как идентифицировать файл для изменения уровней яркости (кроме технических достоинств). Следовательно, я представляю альтернативное решение, которое дает аналогичные результаты, но без рута

Это включает в себя использование фильтра экрана приложения Darker . Это доступно в бесплатной версии (которая может уменьшить яркость до 20%) и Pro версии (которая может уменьшить яркость до уровня ниже 20%, вплоть до нулевой яркости). Описание приложения, соответствующее здесь, говорит

Темнее может снизить яркость экрана до крайне низкого уровня, чтобы предотвратить усталость глаз ночью

Макро-логика:

  • Активируйте приложение Darker при каждом подключении к зарядному устройству, чтобы уменьшить яркость экрана до комфортного уровня.
  • Когда зарядное устройство отключается вручную при пробуждении, нажмите кнопку остановки приложения, чтобы вернуться к нормальной яркости (из панели уведомлений).

  • Если есть необходимость ответить на звонок или текстовое сообщение, либо сделайте это вручную, либо добавьте в качестве ограничения в макрос

Ваш макрос будет выглядеть так

Триггер :

* Питание подключено / снято → Подключено

Действия :

  • Запустите приложениеТемнееСохранить существующее (Темнее ранее был настроен комфортный уровень темноты, и эта опция выбирает это)

Ограничения :

Нет (макрос всегда запускается)

Запись

  • Темное приложение работает, когда идет зарядка. Это компромисс в устройстве без рута
  • Обратитесь к предыдущему решению для MacroDroid связанной информации
  • Рисунок ниже дает представление о снижении яркости экрана с помощью приложения Darker. Панель в крайнем левом углу не использует приложение Darker, но поддерживает минимальный уровень яркости экрана. В середине используется Darker (бесплатная версия), поддерживающая яркость экрана на уровне 20%, а последняя использует приложение Pro версии с яркостью 10%.

Нажмите, чтобы увеличить

beeshyams
источник