Я оставляю свой телефон (Samsung Galaxy 4 GT-I9506, Android 5.0.1 Lollipop) заряжающимся на столе перед сном. Он достигает полного через несколько часов часто. Это так раздражает, когда дисплей становится ярким после полного заряда батареи, что будит меня.
Я знаю тему. Как предотвратить полную яркость при появлении всплывающего окна с низким уровнем заряда батареи? о предотвращении яркого дисплея при низком заряде батареи. Корневое устройство кажется единственным вариантом для изменения поведения по умолчанию. Я несколько раз безуспешно устанавливал CyanogenMod на устройство. Я открыт для других способов получить root права на это устройство и изменить его поведение по умолчанию.
Настройки > Дисплей не имеют каких-либо функций, с помощью которых вы можете изменить режим яркости. Было бы здорово настроить яркость в разных режимах и т.д. при низком заряде батареи. В ссылке пользователь не хотел потреблять дополнительную батарею с дисплеем, когда батарея была очень низкой.
Установил предложенный Firelord, Tasker, где работаю автоматику. Мне, вероятно, нужно рутировать мой телефон для достаточного изменения.
Как вы можете предотвратить яркость, когда батарея полностью заряжена в Android?
Вы можете приблизиться, но не можете предотвратить такое поведение, если нет неизвестных вам настроек или устройство не имеет root-прав. Независимо от того, какое приложение автоматизации вы используете, яркость будет установлена на максимум всякий раз, когда уровень заряда батареи достигнет 100%, и в течение нескольких миллисекунд она вернется к тому, что вы хотите. Мое решение решает эту проблему. Первоначально опубликовано здесь .
Файл с именем 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
Как вы уже догадались, вам нужно будет настроить два профиля для каждого приложения. Один для установки предела, а другой для установки максимальной яркости по умолчанию, к которой вы привыкли.
Я хотел бы, чтобы вы учитывали это (даже если вы получили намек в начале), что использование триггера 100% батареи помешает цели этого ответа, которая состоит в том, чтобы отменить изменения, которые Android хочет внести. Например, если вы устанавливаете LIMIT на 0 всякий раз, когда батарея достигает 100%, что произойдет, если ваш Android будет освещать экран до максимума, как обычно, и через несколько миллисекунд (вы правильно прочитали) ваше приложение автоматизации запустится и установит предел. Ваш сон может быть прерван в эти миллисекунды.
Обходной путь заключается в том, чтобы установить уровень заряда батареи на уровне 99 или меньше для полного заряда батареи.
Тем не менее, я не удивлюсь, если вы избежите рутирования, учитывая, что самый большой компромисс, на который вы пойдете, используя ответ с подходом без полномочий root, заключается в том, чтобы не учитывать эти надоедливые, а только миллисекунды.
Как предложил @Firelord, вы можете попробовать использовать Tasker или MacroDroid.
Автоматизация является предпочтительным вариантом, или, скорее, единственным вариантом в данном случае. Доступно множество приложений. Я предпочитаю использовать MacroDroid , так как он бесплатный (до 5 макросов) и прост в освоении. Чтобы понять, как работает MacroDroid и какие настройки необходимы для вашей версии Android, см. мой ответ
Примечание . Это не тестировалось на Lollipop, как на KitKat, но должно работать. Убедитесь, что установлены соответствующие настройки для леденца.
Ваш макрос будет выглядеть так
Триггер :
Уровень заряда батареи → увеличивается до → (выберите желаемый процент на скользящей шкале или 100 %)
Действия :
Ограничения :
Время суток → Время начала 22:00 → Время окончания 06:00 (при условии, что это время вашего сна)
Повелитель огня