|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Velocímetro desplazable para Google Maps
Bueno, la idea no es otra que crear un velocímetro desplazable a nuestro antojo por la ventana de Google Maps. Os pongo en antecedentes:
https://www.htcmania.com/showthread....8#post28813628 Última edición por emiegna Día 28/05/18 a las 00:24:09. |
| Gracias de parte de: | ||
|
|
|
#2
|
||||
|
||||
|
¿Que pasa cuando Maps entra en modo navegación? Nada mas abrir Maps ya tenemos el icono del Gps "fululando" en la barra de tareas... Creo que por ahi quieres que indague, no? Ya empezamos con mis temidas variables, y prácticamente Tasker = Variables + Matemáticas
Edito: Cuando entramos en modo navegación se muestra un icono en la barra de estado. A la izquierda. ¿google.navigation? En modo navegacion el Velocímetro cabe perfectamente en la barra de abajo donde se indica la hora de llegada y demas datos... ¿Desplazable entonces? ¿Para qué? Última edición por emiegna Día 20/05/18 a las 21:12:13. |
|
#3
|
||||
|
||||
|
Gracias por intentarlo. Sigue jugando. ![]() ![]() ¿Ese icono qué será y cómo se podrá detectar desde Tasker? ![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#4
|
||||
|
||||
|
Eres un cachondo...
Por diversión, dice... Pues mira, quizas no estaria mal que en un principio se muestre el velocímetro (sobre fondo transparente) junto a los datos de hora de llegada, etc... y tener en cualquier momento la oportunidad de sacarlo de ahi (desplazarlo) para situarlo en otras posiciones. Igual no estoy tan lejos de sacar el contexto del perfil (creo). Estoy en ello... |
|
#5
|
||||
|
||||
|
Creo que va por tema de intent (ni idea). Estoy mirando cosas... android.intent.action.VIEW, google.navigation, etc.
Creo que va por ahí... |
|
#6
|
||||
|
||||
![]() Es mucho más fácil. ![]() ¿Qué son esas cosas que hacen aparecer las aplicaciones en la barra de estado?
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#7
|
||||
|
||||
|
"La vida es como una caja de bombones..."
Es por tu culpa!! Daba por hecho que proviniendo de ti me iba a tener que licenciar en Matematicas o algo así!! ![]() ![]() En fin, corramos un tupido velo (otra vez)... ![]() 1. Contexto: Evento/Notificacion Maps. Tarea: Mostrar escena desplazable con velocímetro incorporado. 2. Contexto: Evento/Notificacion eliminada Maps. Tarea: Destruir escena. Habrá ahora que darle forma. Realizar tarea velocímetro, Detener tarea, posicion horizontal, posicion vertical, se me ocurre que si hemos desplazado la escena, manteniendola pulsada regrese a su posición original, estética, publicidad, promoción y venta... Me pongo a ello y voy informando. |
|
#8
|
||||
|
||||
![]() Además del contexto de notificación yo añadiría uno de aplicación con "Maps". De esa forma te aseguras de que el velocímetro solamente aparece cuando realmente estés navegando y no cuando Maps tire cualquier otra notificación. Y lo de "mantener pulsado para volver a posición inicial" ... a tu gusto ...
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#9
|
||||
|
||||
|
Buena idea lo de Maps. Seguridad.
¿Y los desplazamientos? ¿Pa donde? Imagino que no existen solo 4 opciones... |
|
#10
|
||||
|
||||
|
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#11
|
||||
|
||||
|
Bueno, ya he hecho algunas pruebas jugando con el valor de las variables. Creo, y digo creo, el proyecto no parece especialmente difícil. Llevará algún tiempo, eso si... Situar bien la escena en posición vertical y horizontal, tamaño, fuente, y posibles ubicaciones en los movimientos y alguna cosilla mas que me gustaría añadir. Eso si, mi resolución es 1920/1080. Poco a poco...
|
|
#12
|
||||
|
||||
|
He creado una escena redonda en color verde (he conseguido el mismo color de Maps extrayendolo con Color Suite) y caracteres blancos... El velocimetro. Quiero ubicar la escena al inicio en un determinado lugar si el movil esta en posición vertical, y en otro lugar si está en posición horizontal. Eso lo consigo.
El problema está cuando inicio en posición vertical y giro luego a posición horizontal, o viceversa. Tarda mucho en recuperar las posiciones (segundos). He probado en Propiedades de las tareas, prioridades, sin la tarea del velocimetro, etc. No doy con ello. Y he calibrado el acelerometro. De momento tengo estos tres perfiles, aparte de la escena. Perfil: OrientacionVertical (120) Estado: Orientación Pantalla [ Está:Vertical ] Entrada: VerticalON (121) A1: Establecer variable [ Nombre:%Vert A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Salida: VerticalOFF (123) A1: Establecer variable [ Nombre:%Vert A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Perfil: VelocimetroMapsON (112) Evento: Notificación [ Aplicación origen:Maps Título:* Texto:* Subtext:* Messages:* Other Text:* Categ.:* New Only:Apagado ] Aplicación: Maps Entrada: VelocimetroMapsON (113) A1: Realizar tarea [ Nombre:VelocimetroON/OFF Prioridad:%priority-1 Parámetro 1 (%par1) n Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ] A2: Si (if) [ %Vert ~ 1 ] A3: Ocultar Escena [ Nombre:VelocimetroMaps Animación:Sistema ] A4: Establecer variable [ Nombre:%posh A:10 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A5: Establecer variable [ Nombre:%posv A:173 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A6: Mostrar Escena [ Nombre:VelocimetroMaps Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:%posh Posición Vertical:%posv Animación:Sistema Mostrar Botón Salida:Apagado Mostrar sobre bloqueo pantalla:Apagado Continuar tarea inmediatamente:Encendido ] A7: Else A8: Ocultar Escena [ Nombre:VelocimetroMaps Animación:Sistema ] A9: Establecer variable [ Nombre:%posh A:5 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A10: Establecer variable [ Nombre:%posv A:155 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A11: Mostrar Escena [ Nombre:VelocimetroMaps Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:%posh Posición Vertical:%posv Animación:Sistema Mostrar Botón Salida:Apagado Mostrar sobre bloqueo pantalla:Apagado Continuar tarea inmediatamente:Encendido ] A12: Fin si (End if) Perfil: VelocimetroMapsOFF (98) Evento: Notificación eliminada [ Aplicación origen:Maps Título:* Texto:* Subtext:* Other Text:* Categ.:* ] Aplicación: Maps Entrada: VelocimetroMapsOFF (97) A1: Destruir Escena [ Nombre:VelocimetroMaps ] A2: Realizar tarea [ Nombre:VelocimetroON/OFF Prioridad:%priority Parámetro 1 (%par1) ff Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ]
|
|
#13
|
||||
|
||||
|
El detector de cambio de orientación...
Código:
Perfil: OrientacionVertical (120) Estado: Orientación Pantalla [ Está:Vertical ] Entrada: VerticalON (121) A1: Establecer variable [ Nombre:%Vert A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Salida: VerticalOFF (123) A1: Establecer variable [ Nombre:%Vert A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] El problema está en que ese cambio no pasa al velocímetro nada más que cuando Maps genera una nueva notificación, que es cuando muestras/repintas el velocímetro. Código:
Perfil: VelocimetroMapsON (112) Evento: Notificación [ Aplicación origen:Maps Título:* Texto:* Subtext:* Messages:* Other Text:* Categ.:* New Only:Apagado ] Aplicación: Maps Entrada: VelocimetroMapsON (113) ![]() Al margen de eso, la tarea se puede optimizar para que sea un poco más rápida... Código:
VelocimetroMapsON (113) A1: Si (if) [ %Vert ~ 1 ] A2: Establecer variable [ Nombre:%posh A:10 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A3: Establecer variable [ Nombre:%posv A:173 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A4: Else A5: Establecer variable [ Nombre:%posh A:5 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A6: Establecer variable [ Nombre:%posv A:155 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A7: Fin si (End if) A8: Ocultar Escena [ Nombre:VelocimetroMaps Animación:Ninguna ] A9: Mostrar Escena [ Nombre:VelocimetroMaps Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:%posh Posición Vertical:%posv Animación:Sistema Mostrar Botón Salida:Apagado Mostrar sobre bloqueo pantalla:Apagado Continuar tarea inmediatamente:Encendido ] Código:
A1: Realizar tarea [ Nombre:VelocimetroON/OFF Prioridad:%priority-1 Parámetro 1 (%par1):on Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ]
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#14
|
||||
|
||||
|
En primer lugar, no sé si podras explicarme como haces para incluir mis citas o códigos en esos cuadros, o bien donde se explica
![]() Que reacciona de forma casi inmediata sí lo sé. De hecho es totalmente inmediato. En la tarea, en lugar de poner un else, pongo un segundo if (%Vert 1 o 2) y al girar el móvil en la misma ventana de Tasker pasa enseguida del verde al rojo y viceversa. "Cuando Maps genera una nueva notificación". No te entendí. ¿Que nueva notificación? Siempre es la misma hasta que lo cierre. "Comprobar cada pocos segundos...". ¿No lo hace ya la tarea con el if %Vert ~ 1 y Else? Probé lo de Ninguna en ocultar, porqué lo pensé. Pero obviamente no era eso. Pero ayudará, claro. Y lo de realizar tarea del velocimetro... Es obsesion con la tarea aquella. Tienes toda la razon, es innecesario aqui. Y encima ralentiza. |
|
#15
|
||||
|
||||
|
Si no ves la barra de botones cambia al editor avanzado (tienes un botón por debajo de la caja del mensaje). Pon un pito corto al principio de la tarea que lanzas al entrar en modo navegación y lo comprobarás. Sí. El paso de "Destruir" a "Mostrar" es algo más rápido.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) Última edición por WillyWeb Día 24/05/18 a las 08:00:46. Razón: Incluir imágenes |
|
#16
|
||||
|
||||
|
Está claro que soy corto de "entendederas". Te digo lo que yo he entendido (mal entendido, porque nada de lo que he hecho funciona).
El perfil de Orientación vertical 1/0 funciona correctamente. Lo hace ademas bien rapido. Pongo el móvil el posición vertical y el valor pasa a 1. Lo pongo en horizontal y el valor para enseguida a 0. Ok. El perfil del Velocimetro en Maps. Aqui lo que de momento importa es la notificación (notificaciones) que recibo de Maps. No es una, sino varias. El contexto se dispara cuando recibo una notificación, cada vez que recibo una notificación. Eso es lo que yo entiendo, y siempre he entendido. Un perfil cuyo contexto es un evento dispara la tarea nada mas que se produce el evento. La tarea de este perfil... Esta se ejecuta cada vez que recibo una notificación. Eso es lo que yo entiendo, y siempre he entendido para casos de eventos (insisto). Ahora bien, creo (y digo "creo") haberte entendido que esta tarea debe ejecutarse casi continuamente (cada milisegundos) para comprobar la verticalidad/horizontalidad del movil. Pues bien, y olvidate de la acción Realizar tarea Velocimetro (sobra), pongo al final de la tarea un Ir a accion 1 (if %Vert ~ 1... Else) y ya está. Ya se repite continuamente, y comprueba continuamente, no? (Po no) Otra idea basada en lo que yo he entendido. Al principio de la tarea %Ntf = 1. If %Ntf ~ 1... resto de tarea... End if tarea :Ntf = 0. Y termino con Ir a accion 2 (if %Ntf ~ 1). Pensé en Propiedades de la tarea, pero nada. Y me arroja Error Code 3, que no sé que significa, pero suena chungo. Creo entender lo que dices, o al menos parte, pero cómo llevarlo a cabo... Supongo que será, quizas, porque no he entendido tanto como creo. Vamos, que en cuestion de 1 hora estoy al 60% de batería Desgraciadamente para ti (y sobretodo para mi) supongo que esperarias este post. :-( Este perfil es el que mas se aproxima a mis pretensiones... Pero sigue "parpadeando" y tardando unas milesimas de segundo en situarse la escena en su sitio al girar el móvil. Ademas, desconozco el consumo que supondria... Perfil: VelocimetroMapsON (112) Evento: Notificación [ Aplicación origen:Maps Título:* Texto:* Subtext:* Messages:* Other Text:* Categ.:* New Only:Apagado ] Aplicación: Maps Entrada: VelocimetroMapsON (113) Abortar Tarea Existente A1: Establecer variable [ Nombre:%Ntf A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A2: Si (if) [ %Ntf ~ 1 ] A3: Si (if) [ %Vert ~ 1 ] A4: Ocultar Escena [ Nombre:VelocimetroMaps Animación:Ninguno ] A5: Establecer variable [ Nombre:%posh A:10 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A6: Establecer variable [ Nombre:%posv A:173 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A7: Mostrar Escena [ Nombre:VelocimetroMaps Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:%posh Posición Vertical:%posv Animación:Sistema Mostrar Botón Salida:Apagado Mostrar sobre bloqueo pantalla:Apagado Continuar tarea inmediatamente:Encendido ] A8: Else A9: Ocultar Escena [ Nombre:VelocimetroMaps Animación:Ninguno ] A10: Establecer variable [ Nombre:%posh A:5 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A11: Establecer variable [ Nombre:%posv A:155 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A12: Mostrar Escena [ Nombre:VelocimetroMaps Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:%posh Posición Vertical:%posv Animación:Sistema Mostrar Botón Salida:Apagado Mostrar sobre bloqueo pantalla:Apagado Continuar tarea inmediatamente:Encendido ] A13: Fin si (End if) A14: Establecer variable [ Nombre:%Ntf A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A15: Fin si (End if) A16: Ir a acción [ Tipo:Número Acción Número:2 Etiqueta: ] Si (if) [ %Ntf ~ 1 ] Última edición por emiegna Día 24/05/18 a las 11:38:49. |
|
#17
|
||||
|
||||
|
El otro método no necesita un perfil ni dos tareas ni una variable global; el inconveniente es que necesita Root y creo que por eso a ti no te sirve pero lo pongo para conocimiento general. En cualquier tarea se pueden insertar un par de acciones: la primera es un comando (ejecutar consola, como Root) que sirve para chequear la orientación (portrait=retrato, vertical; o bien landscape=paisaje, horizontal) y la segunda para tomar una decisión IF en función de lo que se haya detectado. Lo descubrió el compañero Maid450 y lo explicó en el siguiente post https://www.htcmania.com/showthread....83#post9213183
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
| Gracias de parte de: | ||
|
#18
|
||||
|
||||
|
El perfil del Velocimetro en Maps. Aqui lo que de momento importa es la notificación (notificaciones) que recibo de Maps. No es una, sino varias. El contexto se dispara cuando recibo una notificación, cada vez que recibo una notificación. Eso es lo que yo entiendo, y siempre he entendido. Un perfil cuyo contexto es un evento dispara la tarea nada mas que se produce el evento.
La tarea de este perfil... Esta se ejecuta cada vez que recibo una notificación. Eso es lo que yo entiendo, y siempre he entendido para casos de eventos (insisto). ![]() ![]() Lo que hace ese bucle es ocultar y mostrar la escena (ese parpadeo indica que lo está haciendo). El problema es que el bucle no debe ser para eso. Debe ser para actualizar el valor de la velocidad, que se tiene que ver en la escena, que se tiene que mostrar sólo una vez al generarse la primera notificación del modo de navegación de maps. La tarea que reacciona a la notificación de maps muestra la escena y hace un bucle que calcula/actualiza el valor de %Velocidad (supongo que usarás ese variable). Te queda por solucionar el tema de que esa tarea se relanza con cada nueva notificación. El movimiento de la escena con el dedo ya lo tenías resuelto con la minitarea de la pestaña "Golpe". Por otro lado tienes un perfil que reacciona a los cambios de orientación y que tiene que cambiar las coordenadas de la escena. Y para finalizar, cuando desaparezca la notificación de navegación de maps, tienes que interrumpir el bucle que calcula/actualiza %Velocidad y destruir la escena. Creo que esos son los cuatro pasos fundamentales.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#19
|
||||
|
||||
|
Con el mismo resultado (portrait=retrato, vertical; landscape=paisaje, horizontal) pero sin necesidad de root.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
| Gracias de parte de: | ||
|
|
|
#20
|
||||
|
||||
|
A ver, creo que el asunto va para largo. He probado bastantes cosas en función de lo que creo haber entendido y ninguna funciona. Ahora creo entender que la tarea sólo debe ejecutarse una sola vez, o bien la escena mostrarse solo una vez. Ya he probado con poner una acción detener. Cambiar de posición mostrar la escena. En fin, no pararía de contar cosas que he probado atendiendo a lo que he entendido. Y muchas de ellas probablemente absurdas. Seguiré intentandolo, pero como digo, por falta de tiempo irá para largo. Y quizas tenga que abandonar el proyecto. Cada vez se hace mas frustante.
Ya pongo en duda la creación de todo el proyecto, cuando sólo dudaba del inicio, no del resto. Pero bueno, ya voy a decir "creo"... Creo que el paso siguiente, lo del velocímetro no supondria gran problema. Lo del bucle ya me di cuenta luego. Tienes razon, WillyWeb. Otra cagada mia... Oculta-muestra-oculta-muestra... Parpadeo. Absurdo. El resto del proyecto creo que también lo dominaria. He querido poner en práctica la acción Probar pantalla... Y otra cosa que no se hacer. Mira por donde. En la tarea del velocímetro de Maps pongo como primera accion Probar pantalla/Orientacion, almacenar en %Orientacion, if %Orientacion ~ vertical. Siguiente accion if %Orientacion ~ 1 Mostrar escena... Y na. Aquello no va. Ni con asteriscos, ni portrait, ni na. En fin, horas y horas. Seguiré intentando y probando. Si pasado un tiempo no consigo nada ya comentaré que abandono el proyecto. Y sobretodo gracias por vuestra ayuda y paciencia. A los dos
|
| Gracias de parte de: | ||
![]() |
Estás aquí
|
||||||
|
||||||