2 votos

¿Cómo se puede evitar el brillo cuando la batería está alta?

Dejo mi teléfono (Samsung Galaxy 4 GT-I9506, Android 5.0.1 lollipop) cargándose en mi mesa cuando me voy a dormir. Se llena después de algunas horas a menudo. Es tan molesto cuando la pantalla se ilumina cuando la batería está llena, que me despierta.

Conozco el hilo ¿Cómo evitar que el brillo se llene cuando aparezca la ventana emergente de batería baja? sobre la prevención de la pantalla brillante cuando la batería se agota. El dispositivo rooteado parece ser la única opción para cambiar el comportamiento por defecto. He instalado sin éxito CyanogenMod en el dispositivo unas cuantas veces. Estoy abierto a otras formas de rootear este dispositivo y cambiar su comportamiento predeterminado.

Ajustes > La pantalla no tiene ninguna característica que permita alterar el modo de brillo. Sería genial personalizar el brillo en diferentes modos, etc. cuando la batería está baja. En el enlace, el usuario no quiso consumir batería adicional con la pantalla cuando la batería estaba extremadamente baja.

Instalé la propuesta de Firelord, Tasker, donde estoy trabajando la automatización. Probablemente necesito rootear mi teléfono para tener suficiente cambio.


¿Cómo se puede evitar el brillo cuando la batería se llena en Android?

1 votos

No puedo decir si funcionaría, pero en Tasker, puedes configurar un perfil para disminuir el brillo en el momento en que la batería se cargue al máximo. Perfil: Evento -> Energía -> Batería llena -> Máximo. Acción: Display -> Display Brightness. Usa esto en contexto de tiempo para que esto ocurra sólo cuando duermas. Esto se puede lograr utilizando MacroDroid también.

4voto

Firelord Puntos 161

Puede acercarse, pero no puede evitar ese comportamiento a menos que haya un entorno desconocido para usted o que el dispositivo esté rooteado. No importa lo que pase automatización que usas, el brillo se pondría al máximo cuando el nivel de la batería alcance el 100% y en cuestión de unos pocos milisegundos, se revertiría a lo que quieras que sea. Mi solución se encarga de ese problema. Originalmente publicado aquí .

El archivo llamado max_brightness un archivo bajo /sys por lo tanto, una parte del núcleo de Linux y directamente administrado por él, parece ser la clave de la solución. Encontré que establecer el límite de brillo en ese archivo es una de las mejores maneras de abordar el problema.

Me di cuenta de que una vez que se establece el máximo brillo personalizado, ni Android ni una aplicación podía establecer el brillo más allá de ese nivel personalizado a menos que cambiaran el contenido de ese archivo, lo que a menudo una aplicación no tiene razón de ser y ninguna de ellas tampoco cambió. Además, el archivo es propiedad de Root y forma parte del grupo Root, por lo que cualquier aplicación o incluso system_server requeriría el privilegio de Root para hacer cambios en ese archivo.

Encontrar ese archivo es un poco difícil. En mi dispositivo MTK con Android 4.2, ese archivo parece estar bajo /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/ .

En mi dispositivo Qualcomm con Android 5.0.2 y superior, el archivo parecía estar en /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/ .

Asumo que la mejor manera de encontrar ese archivo es ejecutar una consulta de búsqueda (setup adb para eso), como:

(Requiere <a href="https://play.google.com/store/apps/details?id=stericson.busybox" rel="nofollow">busybox </a>)

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

En mi dispositivo Qualcomm, la salida que da es:

/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/devices/01-qcom,leds-d300/leds/led:flash\_torch/max\_brightness
/sys/devices/01-qcom,leds-d300/leds/led:flash\_0/max\_brightness
/sys/devices/01-qcom,leds-d300/leds/led:flash\_1/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-lut-2/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-pwm-3/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/kpdbl-pwm-4/max\_brightness
/sys/devices/01-qcom,leds-e200/leds/button-backlight/max\_brightness

El lugar donde lcd-backlight es mencionado fue el único que tenía sentido para mí y así es como encontré el archivo en mi dispositivo. No te preocupes por preguntar por los demás. Intenté cambiar el brillo de la pantalla y busqué los cambios en el archivo llamado brightness (también situado debajo de esos lugares). Ninguno de ellos reflejaba la salida correcta, excepto el de /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight .

Sólo para demostración, intente establecer un límite en 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). 

Ahora intente maximizar el brillo usando el deslizador de brillo o una aplicación de terceros y notará que el brillo de su pantalla no excede de un cierto punto incluso cuando el deslizador o la configuración de la aplicación parece estar al máximo. El brillo para ese "cierto punto" sería ciertamente menor que el predeterminado al que estás acostumbrado.

Nota que el valor máximo en max_brightness se encuentra a menudo en 255 y el brillo oscila entre 0-255. A menudo, no siempre es cierto, es decir. Y no teme poner el límite en 0. Haría que la pantalla no se encendiera hasta que revierta los cambios o reinicie el dispositivo.

Encuentra un límite que no te perturbe mientras duermes.


Automatización

Para automatización usar cualquier aplicación de automatización que pueda ejecutar un comando con privilegios de root y cuando se cumpla el contexto de su disparador preferido. Recomiendo un disparador basado en el tiempo.

Algunos ejemplos de trabajo:

  • En Tasker establecer un perfil con su contexto preferido, crear una tarea y usar la acción: Código → Ejecutar Shell:

    • Comando: echo LIMIT > PATH_TO_MAX_BRIGHTNESS
    • marque Usar root
  • En MacroDroid configura tu disparador preferido y para la acción, instala Configuración segura , elegirlo → Acciones → Ejecutar el comando:

    • Comando: echo LIMIT > PATH_TO_MAX_BRIGHTNESS
    • marque Usar root
  • En Automatizar como parte de su flujo, al establecer una acción para su disparador, seleccione El superusuario del comando Shell en las aplicaciones y hacer:

    • Línea de mando: echo LIMIT > PATH_TO_MAX_BRIGHTNESS

    Asegúrate de instalar todos los permisos que requiere el flujo.

  • En DroidAutomation , configure su disparador y bajo tarea, seleccione root → Ejecute una línea de comando y escriba: echo LIMIT > PATH_TO_MAX_BRIGHTNESS

Como habrás adivinado, tendrías que configurar dos perfiles para cada aplicación. Uno para establecer un límite y el otro para establecer el brillo máximo al valor predeterminado al que estás acostumbrado.


Me gustaría que mantener esto en consideración (aunque al principio se le insinuó) que el uso de un disparador de batería al 100% anularía el propósito de esta respuesta, que es anular los cambios que Android quiere hacer. Por ejemplo, si configuras el LÍMITE a 0 cada vez que la batería llegue al 100%, lo que sucederá es que tu Android encenderá la pantalla al máximo como de costumbre y en pocos milisegundos (lees correctamente) tu aplicación de automatización se ejecutará y establecerá el límite. Tu sueño puede ser interrumpido en esos milisegundos.

La solución es ajustar el nivel de la batería a 99 o menos para una carga completa.

Dicho esto, no me sorprendería si evitasen rootear considerando que el mayor compromiso que harían al usar una respuesta con un enfoque no rooteado es el de no contabilizar esos molestos, sino sólo milisegundos.

2voto

beeshyams Puntos 82

Como sugirió @Firelord, podrías intentarlo con tasker o usar MacroDroid

La automatización es la opción preferida, o más bien la única opción en este caso. Hay muchas aplicaciones disponibles. Prefiero usar MacroDroid ya que es libre (hasta 5 macros) y fácil de aprender. Para entender cómo funciona MacroDroid y el ajustes requerido para su versión de Android, vea mi responder a

Nota Esto no está probado en Lollipop como lo estoy en KitKat pero debería funcionar. Asegúrate de que se hagan los ajustes apropiados para Lollipop

Su macro se vería así

Trigger :

Nivel de la bateríaaumenta a → (elija el porcentaje que prefiera en la escala móvil o el 100 %)

Acciones :

  • Brillo0 ( Escoge en la escala móvil, no requiere root. )
  • Espera antes de la próxima acción → ajustada a 10 segundos (se recomienda separar las acciones anteriores y las siguientes para asegurar que ambas ocurran)
  • Pantalla oscuraDimmer On → 10% ( Escoge en la escala de deslizamiento - no requiere root, si la acción anterior no es lo suficientemente buena para ti - esto es parecido a las aplicaciones de "filtro de pantalla" como Más oscuro )

Restricciones :

La hora del díaHora de inicio 2200 → Tiempo final 0600 (asumiendo que es tu hora de dormir)

0 votos

¿Has podido probarlo, por favor?

0 votos

Hay brillo durante unos milisegundos cuando se utiliza este enfoque. El enfoque de Firelord asegura que no hay tal brillo.

0 votos

En realidad, estoy probando para encontrar tal característica por CyanogenMod 12.1 por su configuración predeterminada. Es mucho más personalizable pero aún no lo he conseguido. Te haré saber si tengo éxito.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X