Acceder

Ver la Versión Completa : [ SOLUCIONADO ] Problema con la variable %SCREEN


leromaro
03/08/18, 18:51:58
Hola tengo una tarea que necesito que detecte si la pantalla está encendida o apagada,
entonces coloco un if %SCREEN ~off tal cosa, y no lo hace. Al poner una notificación con el valor de %SCREEN al inicio de la tarea siempre da on, sin importar si la pantalla está encendida o apagada.
Ya leí la configuración recomendada de Tasker y lo tengo bien.

Lo más raro es que juro que antes me funcionaba.

Podrá ser alguna actualización de Tasker?

Alguien tiene el mismo problema? Alguna solución?

Se me ocurría de verificar el estado de la pantalla mediante Java, pero no lo se hacer y no lo encontré en google.

Alguna ayuda


Ahí va la tarea (los flash y notif son para ver si andaba), en teoría funcionaba con tres perfiles, dos detectan el sensor de proximidad y le dan valores on u off a la variable %Prox y el tercero se activa también con el sensor y detecta si está tapado (on) o destapado (off) para saltar o reiniciar la canción.

Spotify Swype (170)
<Lector de prev next>
A1: Esperar [ MS:0 Segundos:2 Minutos:0 Horas:0 Días:0 ]
A2: Notificación [ Título:%Prox %SCREEN Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ]
A3: Si (if) [ %Prox ~ *on* & %SCREEN ~ *off* ]
A4: Control multimedia [ Cmd:Anterior Emular botón multimedia:Encendido Aplicación:Spotify ]
A5: Decir [ Texto:Ant Motor: Voz:default:default Stream:3 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A6: Else Si (if) [ %Prox ~ *off* & %SCREEN ~ *off* ]
A7: Control multimedia [ Cmd:Siguiente Emular botón multimedia:Encendido Aplicación:Spotify ]
A8: Decir [ Texto:Prox Motor: Voz:default:default Stream:3 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A9: Fin si (End if)
A10: Flash [ Texto:Listo Largo:Apagado ] Si (if) [ %SCREEN ~ on ]

SmartPhoneLover
04/08/18, 14:51:04
Yo nunca use la variable %SCREEN, por lo que no sabría decirte cual puede ser el problema. Pero si quieres intentarlo por funciones java, es realmente sencillo:
A1: Java Function [ Return:(PowerManager) temp Class Or Object:CONTEXT Function:getSystemService
{Object} (String) Param:power Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:%temp Class Or Object:temp Function:isScreenOn
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
A3: Flash [ Text:%temp Long:Off ]

leromaro
04/08/18, 19:26:35
Gracias, pruebo y aviso como me funciona

SmartPhoneLover
04/08/18, 20:45:41
Acabo de publicar otra versión, usando esta vez 'DisplayManager' com segundo método:

https://www.reddit.com/r/tasker/comments/94izp1/task_check_screen_status_onoff/

leromaro
04/08/18, 21:16:23
Ahí están los perfiles funcionando perfecto, con alguna pequeña modificación en los nombres, nada más.
Gracias Smart!!


Perfil: Prox 0 (95)
Estado: No Sensor de proximidad
Entrada: Anon (127)
A1: Establecer variable [ Nombre:%Prox A:off Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]

Perfil: Prox 1 (4)
Estado: Sensor de proximidad
Entrada: Anon (41)
A1: Establecer variable [ Nombre:%Prox A:on Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]

Perfil: Swype (165)
Estado: Sensor de proximidad
Entrada: Spotify Swype (170)
<Lector de prev next>
A1: Esperar [ MS:0 Segundos:2 Minutos:0 Horas:0 Días:0 ]
A2: Función Java [ Devolver:pantalla Class Or Object:CONTEXT Función:getSystemService
{Object} (String) Param:power Param: Param: Param: Param: Param: Param: ]
A3: Función Java [ Devolver:%pantallaencendida Class Or Object:pantalla Función:isScreenOn
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
A4: Si (if) [ %Prox ~ on & %pantallaencendida ~ false ]
A5: Control multimedia [ Cmd:Anterior Emular botón multimedia:Encendido Aplicación:Spotify ]
A6: Else Si (if) [ %Prox ~ off & %pantallaencendida ~ false ]
A7: Control multimedia [ Cmd:Siguiente Emular botón multimedia:Encendido Aplicación:Spotify ]
A8: Fin si (End if)

SmartPhoneLover
05/08/18, 00:52:19
Excelente! Pues me alegro que este solucionado ;)