3 votos

Ejecutar la tarea si el perfil del tasker ha estado activo durante algún tiempo

¿Cómo puedo ejecutar una tarea tasker sólo después de que una determinada condición se haya cumplido durante un tiempo determinado?

Normalmente, un perfil ejecuta su tarea en cuanto se cumplen todas las condiciones. Quiero retrasar esta activación, hasta que las condiciones se hayan mantenido durante algún tiempo.

Por ejemplo

  • hacer algo después de que la pantalla haya estado continuamente apagada o encendida durante 10 minutos
  • hacer algo después de que el wifi xy no haya estado cerca durante 10 minutos
  • hacer algo después de que las torres celulares x,y,z no hayan estado cerca durante 10 minutos.

0voto

Firelord Puntos 161

Una mezcla de espera, Búsqueda de variables y If-Else deberían ser suficientes aquí.

Tasker mantiene una variable llamada Perfiles Activos, denotada por %PACTIVE .

Perfiles Activos (dinámico)
%PACTIVO
Una lista separada por comas de los perfiles actualmente activos y con nombre en orden de activación. Los nombres duplicados aparecerán en la lista sólo una vez . La lista siempre empieza y termina con una coma para facilitar la comparación, si no está vacía.

(El énfasis es mío)

Puede utilizar la acción Esperar para esperar una cantidad de tiempo N y luego comprobar si su perfil está activo o no. Si no está activo, salga de la tarea, si no, continúe.

Puede comenzar su tarea con estas acciones:

  1. Tarea → Esperar → configurarlo

  2. Variables → Conjunto de variables:

    • Nombre: %ActiveProfiles
    • Para: %PACTIVE
  3. Variables → Búsqueda de variables Reemplazar:

    • Variable: %ActiveProfiles
    • Buscar: ,PROFILE_NAME,
    • marque Ignorar caso
    • Almacena las coincidencias en: %CurrentProfile

    Sustituir PROFILE_NAME con el nombre de su perfil. El nombre de un perfil debe configurarse manualmente.

  4. Tarea → Si: %CurrentProfile1 Isn't Set

  5. Tarea → Parada

    Alternativamente, poner cualquier acción que le notifica que el perfil desactivado en el ínterin.

  6. Tarea → Otra

  7. Configure las acciones que desea que se ejecuten si el perfil permanece activo después de N cantidad de tiempo.

0 votos

Este enfoque tiene problemas. El primer problema es que no estoy haciendo ninguna comprobación sobre el hecho de que por la cantidad de tiempo que estoy esperando, el perfil puede haber desactivado y activado varias veces. Veré lo que puedo hacer.

0 votos

Para la cuestión obvia aquí: configurar un Tarea de salida y detener la tarea Enter desde ella. Problema resuelto.

0voto

GNL Puntos 1

Lo que hago con éxito:

miperfil 1

lo que quiero para la activación

Tarea 1 Retraso

  1. Espera x tiempo para confirmar la activación
  2. Set %variable_Active = 1
  3. Espere 1 segundo
  4. Set %variable_Active = 0

\=== Y \===

miperfilActivar

  1. %variable_Active == 1
  2. %miperfil está activo

Tarea 1 Acciones

lo que quiero que se haga

0 votos

¡Bienvenido a Android SE! Veo que su respuesta es un poco críptica, ¿podría explicar para los futuros lectores, exactamente lo que está haciendo?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X