|
||
|
![]() |
![]() |
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Como pausar y reanudar una tarea infinita
Buenas, aver si alguien sabe como se puede pausar una tarea infinita.
Me explico. Tengo una tarea con un If, que se repite continuamente y en una escena he creado un boton con el que pretendo pausar y reanudar. La 1° pausa me la hace bien y al darle de nuevo a reanudar, tambien, pero al querer pausar de nuevo no lo hace porque como la tarea es infinita el boton no responde. La unica forma de conseguir que funcione malamente es cambiando la prioridad de la accion de realizar tarea a un numero menor de 5, pero el resultado no es bueno ya que no puedo pausar y reanudar rapido porque se "queda tonto" y no se porque pero me afecta a otras escenas. Alguna idea? He estado intentando ir a una etiqueta de otra tarea pero no lo consegui hacer. Creo que esta seria una buena opcion que deveria tener tasker Gracias por la atencion Aclarar que con 2 botones funciona sin problemas ya que uno detiene y otro reanuda pero como soy un cabezón, quiero hacerlo con un solo boton Última edición por lailolai Día 12/04/18 a las 14:29:35. |
|
#2
|
||||
|
||||
Con lo que dices es un poco "complicado" ver dónde está el problema. Por favor, pon la descripción de la tarea tal y como se explica aquí...
https://www.htcmania.com/showthread.php?t=615896 Y a esa descripción de la tarea le añades lo que hace ese botón.
__________________
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) |
#3
|
||||
|
||||
La primera tarea se encarga de ejecutar la escena de control
Panel Contador (198) A1: Establecer variable [ Nombre:%Sumar1 A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A2: Mostrar Escena [ Nombre:Escena Contador Mostrar como ![]() A3: Esperar [ MS:0 Segundos:0 Minutos:1 Horas:0 Días:0 ] A4: Destruir Escena [ Nombre:Escena Contador ] |
#4
|
||||
|
||||
La escena ejecutada tiene un texto en el que aparece el contador, un boton para iniciar el contador uno de fin y uno de play pausa, que es con el que tengo el problema
Scene: Escena Contador P:954x960 L:-1x-1 Element: Texto1 Sumar/Texto Geometry: P:180,108 575x223 L:180,108 575x223 Content: Texto: %Sumar1 Tamaño texto: 22 Anchura Texto Escala %: 100 Color Texto: #FFFFFFFF Fuente: Posición: Centro Modo Ajuste Vertical: Ninguno Formato Texto: Texto Plano Element: Texto2 Inicio/Texto Geometry: P:81,405 322x174 L:81,405 322x174 Content: Texto: Inicio Tamaño texto: 18 Anchura Texto Escala %: 100 Color Texto: #FFFFFFFF Fuente: Posición: Centro Modo Ajuste Vertical: Ninguno Formato Texto: Texto Plano Events: Click: 199 Element: Texto2 Fin/Texto Geometry: P:526,405 336x168 L:526,405 336x168 Content: Texto: Fin Tamaño texto: 18 Anchura Texto Escala %: 100 Color Texto: #FFFFFFFF Fuente: Posición: Centro Modo Ajuste Vertical: Ninguno Formato Texto: Texto Plano Events: Click: 200 Element: Texto4playpause/Texto Geometry: P:303,623 336x178 L:303,623 336x178 Content: Texto: Pausa/Play Tamaño texto: 18 Anchura Texto Escala %: 100 Color Texto: #FFFFFFFF Fuente: Posición: Centro Modo Ajuste Vertical: Ninguno Formato Texto: Texto Plano Events: Click: 201 |
#5
|
||||
|
||||
la tarea infinita que se encarga de contar
Prueba Contador (196) A1: Establecer variable [ Nombre:%PararContad A:2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] <Contado> A2: Si (if) [ %PararContad ~ 2 ] A3: Sumar a variable [ Nombre:%Sumar1 Valor:1 Módulo (wrap around):0 ] A4: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] A5: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Contado ] A6: Fin si (End if) |
#6
|
||||
|
||||
la escena que aparece al final. Esto es lo que incluye. No puedo pegar el contenido porque me da un error la web
Texto: Fueron %Sumar1 segundos Tamaño texto: 16 Anchura Texto Escala %: 100 Color Texto: #FFFFFFFF Fuente: Posición: Centro Modo Ajuste Vertical: Ninguno Formato Texto: Texto Plano |
#7
|
||||
|
||||
![]() Me he perdido. ![]() ¿Tú sacas algo en claro de la descripción de las escenas? Lo "jugoso", lo que hacen esos botones, justo lo que te he pedido, no lo has puesto. Así no es fácil ver porqué no te funciona esa "pausa" que quieres hacer en el contador. Todavía no tengo claro lo que pretendes, pero esto es lo que veo... Tarea: Panel Contador -Asigna a %Sumar1 valor 0 -Muestra la escena "Escena Contador" -Espera 1 minuto -Destruye la escena Tarea: Prueba Contador -Asigna a %PararContad valor 2 -Si %PararContad coincide con 2 -Suma 1 a %Sumar1 -Espera 1 segundo -Vuelve al "Si" Supongo que para iniciar el bucle/contador lanzas la tarea "Prueba Contador". Supongo (otra vez) que la forma en la que detienes el bucle/contador es asignando a %PararContad un valor distinto de 2 (posiblemente un 0) en cuyo caso el "Si" no se cumple y la tarea "Prueba Contador" termina sin más. Y seguramente después muestras esa tarea "final" con el valor acumulado de %Sumar1. ![]() ¿Qué haces para pausar/reanudar el bucle? ... es un misterio, pero lo sospecho. ![]() Anda, no me dejes con la duda y dime qué hacen esos botones. ![]()
__________________
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) |
#8
|
||||
|
||||
me falta poner las acciones del boton de play pausa de la escena
Play Pause Boton (202) A1: Si (if) [ %contando !~ 0 ] A2: Establecer variable [ Nombre:%contando A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A3: Detener [ Con error:Apagado Tarea:Prueba Contador ] A4: Flash [ Texto:Contador Pausado Largo:Apagado ] A5: Else Si (if) [ %contando ~ 0 ] A6: Establecer variable [ Nombre:%contando A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A7: Flash [ Texto:Continuar Contando Largo:Apagado ] A8: Realizar tarea [ Nombre:Prueba Contador Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ] A9: Fin si (End if) |
#9
|
||||
|
||||
perdon. Es que no me di cuenta de los botones.
El de inicio solo ejecuta la tarea y el de fin, detiene todo: Boton Fin (203) A1: Detener [ Con error:Apagado Tarea:Prueba Contador ] A2: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] A3: Mostrar Escena [ Nombre:Resumen Contador Mostrar como:Actividad a ventana completa Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Encendido Mostrar sobre bloqueo pantalla:Encendido Continuar tarea inmediatamente:Encendido ] A4: Esperar [ MS:0 Segundos:5 Minutos:0 Horas:0 Días:0 ] A5: Destruir Escena [ Nombre:Resumen Contador ] A6: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ] A7: Limpiar variable [ Nombre:%Sumar1 Coincidencia de Patrón:Apagado Local Variables Only:Apagado ] A8: Destruir Escena [ Nombre:Escena Contador ] A9: Detener [ Con error:Apagado Tarea:Panel Contador ] |
#10
|
||||
|
||||
Hola @lailolai:
Recuerda que es recomendable utilizar un título descriptivo en tu hilo. Si no lo haces, el resto de usuarios rehusarán entrar en el para ayudarte o aportar su opinión, debido a que no lo encontrarán interesante. Esta es una norma fundamental en todos los foros. Un título adecuado, en concordancia con el contenido del tema, es un buen método para conseguir captar la atención de aquellos usuarios que puedan aportar cualquier tipo de información sobre el asunto que deseas tratar. Por favor, si eres tan amable, edita tu primer post y modifica el título. Si no sabes como hacerlo, sigue leyendo.
(Click para mostrar/ocultar)
|
#11
|
||||
|
||||
Ahora sí que me has dejado loco.
![]() ¿Para qué usas la variable %PararContad? Tal y como funciona "Boton Fin" te puedes ahorrar esa variable y el "Si" de la tarea "Prueba Contador", pero yo la usaría en vez de hacer lo que haces. Me parece que tienes un "pequeño" problemas con las prioridades. Dedica un momento a leer esto... https://www.htcmania.com/showthread.php?t=1202566 (el caso práctico del final) No uses la acción "Detener" para parar el contador y juega con la variable %PararContad ... no te digo más. ![]() Pero si te atascas vuelve. ![]()
__________________
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: | ||
#12
|
||||
|
||||
La variable %PararContad esta ai por estar haciendo pruebas y con el boton de fin detengo la tarea, tambien haciendo pruebas. Gracias por comentarlo porque ahora mismo ya no me daba cuenta. Son muchas las pruebas que hago antes de querer molestar a alguien con mis "chorradas" y al ir haciendo y borrando, me pasan estas cosas.
Voy a revisar bien el enlace que me indicas. Con lo de las prioridades ya me estube peleando pero como ya dije al principio no me funcionaba bien seguramente porque no soy capaz de controlarlas. De todas formas, gracias. Me voy a pelear con esto otra vez y con el enlace que me mandas y el resultado os lo comento sea bueno o sea malo |
#13
|
||||
|
||||
Bueno, os comento despues de probar un par de veces y funcionar.
En estos 5 dias que llevo peleandome con este boton de pausa, la unica vez que consegui que funcionara malamente fue cambiando la prioridad de: "A8: Realizar tarea [ Nombre:Prueba Contador Prioridad:4 Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ]". Me funcionaba mal porque al darle a pausa y reanudar, no podia tenia que hacerlo despacio y a la hora de mostrar la escena final de resumen, aveces no se mostraba o lo hacia como un pantallazo. La prioridad, la probe con los valores 1,2 y con 4 que era la que mejor funcionaba y lo puse porque lei en la web https://tasker.joaoapps.com/userguide/es/tasks.html "La prioridad de Tareas comprende de 0 a 10 inclusive, y será la misma que tenga el perfil que la ejecuta. La prioridad de Perfil puede ser establecida en la pantalla de Propiedades del Perfil (pulsa Menú en la pantalla de Edición del Perfil). El valor por defecto es 5. La prioridad de las tareas ejecutadas por un widget o *acceso directo puede ser establecida en Menú / Prefs / Acción." Ahora me funciona (espero que siga asi) cambiando la prioridad a %priority-1 *"A8: Realizar tarea [ Nombre:Prueba Contador Prioridad:%priority-1 Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ]". Ahora tengo que probarlo bien y si funciona, os lo hare saber, asi como si tengo que hacer algun cambio WillyWeb no se si estabas pensando en esa misma solucion o si sigues loco por mi culpa, pero gracias por ayudar y perdon por hacerte perder el tiempo. Al resto, espero que tambien os sirva. Si queres que os explique algo lo intentare. |
Gracias de parte de: | ||
#14
|
||||
|
||||
![]() Normalmente no es buena idea enredar con la prioridad. Precisamente por eso te he dicho que no usases la acción "Detener" y que jugases con esa variable que ya tenías creada. De todas formas, si con lo que has hecho te funciona ni mil millones de palabras más. ![]() Si necesitas algo más vuelve por aquí.
__________________
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) |
#15
|
||||
|
||||
Entonces, si ai otra forma, tendre que buscarla. Como dice la cancion "yo no me doy por vencido..."
|
#16
|
||||
|
||||
Yo también pensaba que habías llegado a una solución satisfactoria, pero por tu último mensaje veo que quieres seguir dándole vueltas. Se me ocurre una simpleza que tal vez aporte alguna pista.
Tengo una tarea con un If, que se repite continuamente y en una escena he creado un boton con el que pretendo pausar y reanudar. La 1° pausa me la hace bien y al darle de nuevo a reanudar, tambien, pero al querer pausar de nuevo no lo hace porque como la tarea es infinita el boton no responde.
![]() Al dar al botón para "reanudar", la tarea puede intentar volver a la situación inicial. o lo más parecido que se pueda: Volver a colocar las variables con los valores que tenían al comenzar la tarea (o sin valor). Destruir la escena. Ir a la primera acción de la tarea para que esa tarea vuelva a ejecutarse igual que la primera vez, cargando la escena y haciendo todo lo demás.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#17
|
||||
|
||||
despues de estos dias probando e intentando otras formas (sin conseguir resultado todavia) os comento.
en la variable %contando del boton play pause, se deve de poner en mayusculas porque si pausamos y salimos de la pantalla (con un boton de salir que elimine la escena), al volver a entrar, ai que pulsar 2 veces el boton de play pausa para que reanude ya que la variable %contando no tendra ningun valor la primera vez. no me diera cuenta hasta que estube probandolo en cuanto al funcionamiento, no va mal. si que aveces, cuando estoy utilizando estas tareas y se ejecuta una cualquiera de las que tengo creadas en tasker, se queda congelado un segundo o asi y continua, y tambien aveces no aparece la escena final de resumen (1 de cada 15 pruebas+- por poner un ejemplo). por otra parte, cuando si que funciona mal (para de contar solo, no aparece la escena de resumen...) es si exporto todo a una apk. lo hice para probar y el resultado fue malo, no se porque. pensé que funcionaria igual que ejecutandolo en tasker pero no. |
#18
|
||||
|
||||
Pues te digo lo mismo que la primera vez, con lo que dices es "complicado" saber dónde está el problema. Pon las tareas/perfiles que estás utilizando y lo analizamos.
Esas cosas que te pasan podrían ser consecuencia de andar jugando con las prioridades y con la acción "Detener". Y lo que comentas sobre la variable %contador ... Con el nombre en minúsculas es una variable local y no guarda su valor entre ejecuciones de la tarea/escena que la contiene. Con al menos una letra mayúscula se convierte en una variable global visible desde cualquier tarea/perfil/escena. Puede que debas dedicar un rato a leer el tutorial... https://www.htcmania.com/showthread.php?t=614108
__________________
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
|
||||
|
||||
Lo de la variable lo comento porque si ai alguien le sirve como informacion.
Lo de compartir los perfiles y tareas, es algo complicado ya que son 5 o 6 años los que llevo peleandome con tasker creando tareas y perfiles que utilizo a diario. Puede ser que en algun momento me coincidan hasta 3 tareas funcionando al mismo tiempo, durante un par de segundos, intento no sobrecargarlo. Lo que no entiendo es como haceis para detener la ejecucion de una tarea sin "Detener". Creo que casi todas las tareas que quiero detener las tengo con esa accion. Si existe otra forma mejor, Acabo de buscar en tasker por "Detener" y si no conte mal, son 87 acciones de Detener que tengo creadas entre todoas las tareas.. Ya digo, si ai otra forma, llevo mucho tiempo haciendolo mal. |
|
#20
|
||||
|
||||
No es que lo estés haciendo mal, ni mucho menos. La acción Detener está para eso, pero ya estás viendo que no siempre funciona como uno espera. Suele dar mejores resultados que la tarea se detenga ella misma al llegar al final o poniendo una acción Detener (sin parámetros) para detenerla en cualquier punto (al cumplirse cierta condición).
En este caso yo usaría esta estrategia... Tarea: Bucle Control=1 etiqueta Bucle Detener si Control=0 espera 1 segundo suma 1 a Segundos otra acción... otra acción... ir a etiqueta Bucle Botón: Iniciar/Reiniciar ejecuta Bucle Botón: Parar Control=0 muestra Resultado espera 1 minuto destruye Resultado Segundos=0 Botón: Pausar Control=0 Eso debería funcionar. ![]()
__________________
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) |
![]() |
![]() |
||||||
|