![]() |
|
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
|
Nuevo tema.
![]() Quiero que se apague la pantalla al meter el móvil en el bolso o darle la vuelta.En esta ocasión la Taskera tenía clara la estrategia (realmente simple), pero se encontró con que apagaba la pantalla accidentalmente en más de una ocasión y pedía ayuda para evitarlo. ¡¡ Hagan juego !! |
| Gracias de parte de: | ||
|
|
|
#2
|
||||
|
||||
|
Mmm, supongo que implementando una variable local (Global, no necesaria) a la tarea, un contador, y un bucle, se podria arreglar el asunto. Cómo funcionaria? Pero primero el planteamiento:
-PLANTEAMIENTO- 0. Creamos los corresponientes perfiles de estado para los sensores 'Proximidad' y 'Orientación'. Acto seguido, asociamos la tarea de apagar pantalla sea, usando el 'System Lock', o comando 'input keyevent 26' con root, o algún plugin de terceros. 1. Modificamos la tarea ya creada del siguiente modo: -> A1: Variable '%temp1' a '%TIMES' [o %TIMEMS] -> A2: Variable '%temp2' a '%TIMES' -> A3: Variable '%temp3' a '(%temp2)-(%temp1)' [cálculo aritmético] -> A4: Acción destinada a apagar pantalla SI '%temp3 > #' [#: tiempo deseado máximo, en s o ms] -> A5: Volver a 'A2' SI '%temp3 < #' [bucle] -FUNCIONAMIENTO- La A4 solo se ejecutaría en caso de que el tiempo establecido sea mayor. Por lo tanto, si por ejemplo establecemos una duración en segundos de 5, la pantalla solo se apagaria si el móvil permanece boca abajo durante un tiempo mayor a lo configurado. Lo mismo para el sensor de proximidad. -EXTRAS- Se podrían incorporar las siguientes ideas para mejorar su funcionamiento y hacerla más "inteligente" y eficiente: · Incorporar un bloqueo de pantalla (KeyGuard) nada más el sensor se active, para evitar que alguna parte de nuestro bolsillo o bolso afecte a los elementos en pantalla que pudieran haber en ese momento. Lo mismo, para el sensor de orientación. · Algo parecido a lo anteriormente expuesto, pero bloqueando la pantalla contra pulsaciones accidentales con una escena transparente bloqueada. Última edición por SmartPhoneLover Día 27/06/18 a las 12:23:31 |
|
#3
|
|
Una forma ingeniosa de evitar el uso de una variable global para guardar el contador. Me lo apunto.
![]() Y también me ha gustado mucho lo de impedir toques accidentales con una escena transparente bloqueada. Lo que no tengo claro es cómo quedaría eso en la situación que comentaba la Taskera. Decía que alguna veces se le apagaba la pantalla al tirar de la barra de estado para ver las notificaciones porque su sensor de proximidad está colocado en muy mal sitio. En ese caso una escena bloqueada impediría interaccionar con la pantalla. ![]() Lo que no veo es cómo se para esa tarea si se desactiva el perfil que la ha lanzado antes del tiempo establecido. Mi solución es mucho más simple... -Un perfil con un contexto -Una tarea con dos acciones Caravantes, sal de tu escondite y mójate ... ![]() Y lo mismo digo para los que estáis agazapados sin decir nada, que me consta que sois unos pocos (las visitas de cada post os delatan). Vamos, que esto es para entretenerse y aprender. |
|
#4
|
||||
|
||||
|
Cita:
Cita:
)Cita:
![]() La verdad, no se me ocurre por donde iría la cosa. No se me ocurre nada. |
|
#5
|
||||
|
||||
|
Bueno, pues esta vez lo tengo muy fácil. Hace años que tengo funcionando ese perfil, pero con una ligera variación. Yo siempre guardo el smartphone en el bolsillo trasero (izquierdo) del pantalón... y siempre lo guardo de una forma peculiar: la parte alta del smartphone siempre va hacia abajo (la parte alta del smartphone es la primera en entrar al bolsillo, y es la última en salir). Este detalle me sirve para añadir un contexto adicional y eso impide que el perfil se active en otras circunstancias (por ejemplo cuando paso la mano cerca del sensor de proximidad).
Otros detalles: la tarea emite un sonido breve y agudo que me informa de que la pantalla se ha apagado (un sonido igual se emite también al encender la pantalla). Hay un segundo perfil que me sirve para controlar cuándo se ha encendido la pantalla por última vez. Eso me sirve para que la tarea se aborte si el perfil se ha activado por motivo de que smartphone ya estuviera en el bolsillo y un evento hubiera encendido la pantalla (en realidad ya no me acordaba de este detalle, pero lo tengo bastante bien documentado dentro de la propia tarea ).Código:
Perfil: HardProximidadBolsillo (61) Estado: Sensor de proximidad Estado: Estado Pantalla [ Está:Si ] Estado: Orientación [ Está:Boca abajo ] Entrada: HardProximidadBolsillo (63) Abortar Tarea Existente, No apagar <Esta tarea apagará la pantalla si meto el teléfono en el bolsillo con la pantalla encendida. Los conextos clave son el sensor de proximidad y el smartphone cabeza abajo (y la pantalla encendida).> A1: Anchor <Esta acción detiene la tarea si el smartphone ya estaba en el bolsillo y la pantalla se enciende por una llamada o una alerta (Whatsapp, calendario, etc). La tarea solo se sigue ejecutando si el smartphone se encendió 2 segundos antes (o más tiempo antes).> A2: Detener [ Con error:Apagado Tarea: ] Si (if) [ %HardPantallaEncendida > %TIMES-2 ] A3: Bip [ Frecuencia:11000 Duración:25 Amplitud:50 Stream:1 ] A4: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] <Tras la espera, comprobamos si se mantienen las condiciones para apagar la pantalla.> A5: Si (if) [ %PACTIVE ~ *,HardProximidadBolsillo,* ] A6: Bloqueo sistema A7: Realizar tarea [ Nombre:HardAntorchaApagar Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ] A8: Fin si (End if) Código:
Perfil: HardPantallaEncendida (179) Estado: Estado Pantalla [ Está:Si ] Entrada: HardPantallaEncendida (180) A1: Bip [ Frecuencia:11000 Duración:25 Amplitud:50 Stream:1 ] A2: Establecer variable [ Nombre:%HardPantallaEncendida A:%TIMES Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] Última edición por Caravantes Día 27/06/18 a las 23:30:00 |
| Los siguientes 2 usuarios han agradecido a Caravantes su comentario: | ||
|
#6
|
||||
|
||||
|
Cita:
|
| Gracias de parte de: | ||
|
#7
|
|
Pues mi solución, en esencia, es igual a la que ha dado Caravantes...
Código:
Perfil: AutoApagado (111) Estado: Sensor de proximidad Entrada: AutoApagado (222) Abortar Tarea Existente A1: Esperar [ MS:0 Segundos:2 Minutos:0 Horas:0 Días:0 ] A2: Bloqueo sistema Si (if) [ %PACTIVE ~ *,AutoApagado,* ] Funciona en cualquier caso que tape el sensor de proximidad (meter en el bolsillo, poner boca abajo, acercar a la cara, etc.). Mejorable añadiendo "algo" que controle el tema de los toques accidentales si se aprecia que es necesario. ¿Alguna solución más?
|
| Gracias de parte de: | ||
|
#8
|
||||
|
||||
|
Para evitar ese problema (casi siempre) basta con añadir un segundo contexto de "oscuridad", como hice yo, o también se podría usar una demora, como sugirió SmartPhoneLover; cualquiera de las dos estrategias sirve para evitar una activación "accidental" del perfil, por ejemplo cuando mueves la mano cerca del sensor de proximidad, como ya planteó la taskera. Todavía queda un riesgo muy pequeño de que el perfil se active indebidamente si alguna vez estás usando el smartphone en una habitación oscura, y es por eso que yo añadí el tercer contexto de "Orientación Boca abajo"; este tercer contexto es un poco friki, solo sirve para los que siempre guardamos el smartphone en una posición concreta (y extraña), pero los dos primeros contextos son prácticamente obligatorios.
|
| Gracias de parte de: | ||
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 13:19:39 (GMT +1)
HTCMania: líderes desde el 2007







)



