Tuve algunos problemas con la respuesta aceptada, ya que no estoy muy familiarizado con el shell scripting en Android/Unix/Linux, así que pensé en añadir mi experiencia aquí para cualquier persona en un barco similar.
Para que esto funcione con Tasker o similar la línea que necesitas es:
echo 0 > /sys/class/leds/lcd-backlight/brightness
Para tasker pon esto en el campo 'command' con 'Use Root' activado, funciona como un encanto. Para desactivar simplemente cambiar el cero por un 1, ergo:
echo 1 > /sys/class/leds/lcd-backlight/brightness
o bloquear y desbloquear el dispositivo.
Así que para responder a su pregunta sobre la alternancia rápida de este comportamiento. Asigna cada uno de los comandos anteriores a una tarea de Tasker, entonces puedes hacer uso de la nueva intercepción de pulsación larga en la última versión de Tasker para activar y desactivar la pantalla sin poner el dispositivo en reposo. También puedes asignar el comando a un perfil que se active cuando se cumplan tus condiciones.
3 votos
Para ello, la aplicación necesita crear explícitamente un llamado "Wakelock" que impida a Android poner la CPU en Deep Sleep y mantenga todo el sistema (incluida tu aplicación) en funcionamiento.
0 votos
@GiantTree Cierto. ¿Hay alguna manera de rápidamente ¿activar/desactivar eso para todas las aplicaciones o para una aplicación específica?
0 votos
Según la información disponible, una aplicación tiene que pedir este tipo de bloqueo por sí misma. De lo contrario, Android puede matar una aplicación si se ejecuta en segundo plano sin un bloqueo.
0 votos
Probablemente no entendí la pregunta. ¿No se puede pulsar el botón de encendido y dejar que la pantalla se apague? Si es así, ¿tu aplicación deja de funcionar? Si es cierto, esta respuesta puede servir de algo: ¿Existe alguna forma de forzar que una aplicación permanezca ejecutándose en segundo plano pase lo que pase?
0 votos
@Firelord Si ejecutas la aplicación Calma y no pulsas el botón de encendido, la pantalla nunca se apagará. Después de horas de sueño, me alegré de que la imagen de la pantalla no se quemara.
1 votos
Cambiar
/sys/class/leds/lcd-backlight/brightness
a 0 hace el trabajo en mi dispositivo. No pone el dispositivo a dormir, sino que simplemente apaga los LEDs. Probado en la aplicación Calm. Se puede escuchar su música sin embargo, no quemar la batería en la pantalla. Requiere acceso Root aunque.0 votos
@Firelord Si se apaga la pantalla, ¿cómo se vuelve a cambiar el valor (ya que no se ve nada)?
1 votos
Pulsando el botón de encendido dos veces con un intervalo de un segundo, la pantalla volvía a la normalidad. Lo probé a través de ADB para poder cambiar siempre el valor. Usted puede atar este comportamiento a un botón usando Xposed Additions. O tal vez un evento basado en el tiempo en Tasker también podría ser una opción.
0 votos
@Firelord Gracias... Lo probaré para ver cómo funciona. Hay alguna forma de editar el archivo automáticamente? Entrar con un editor Root y cambiar el contenido del archivo cada vez es un poco laborioso.
0 votos
Una aplicación de automatización como Tasker puede hacerlo. La tarea sería + -> Archivo -> Escribir archivo -> su contenido. O bien, + -> Código -> Ejecutar Shell -> y escribir el archivo usando el comando.