3 votes

Exécuter la tâche si le profil du planificateur de tâches est actif depuis un certain temps

Comment puis-je exécuter une tâche de Tasker seulement après qu'une certaine condition soit vraie pendant un certain temps ?

Normalement, un profil exécute sa tâche dès que toutes les conditions sont remplies. Je veux retarder cette activation, jusqu'à ce que les conditions soient vraies depuis un certain temps.

Par exemple :

  • faire quelque chose après que l'écran soit resté continuellement éteint ou allumé pendant 10 minutes
  • faire quelque chose après que le wifi xy n'ait pas été à proximité pendant 10 minutes
  • faire quelque chose après que les antennes cellulaires x,y,z n'aient pas été à proximité pendant 10 minutes.

0voto

Firelord Points 23064

Un mélange de Wait, Variable Search et If-Else devrait suffire ici.

Tasker maintient une variable appelée Profils Actifs, désignée par %PACTIVE.

Profils Actifs (dynamique)
%PACTIVE
Une liste séparée par des virgules des profils actifs nommés dans l'ordre d'activation. Les noms en double n'apparaîtront sur la liste qu'une seule fois. La liste commence toujours et se termine par une virgule pour faciliter la correspondance, si elle n'est pas vide.

(Emphase la mienne)

Vous pouvez utiliser l'action Wait pour attendre pendant N temps et ensuite vérifier si votre profil est actif ou non. Si ce n'est pas actif, sortez de la tâche, sinon, continuez.

Vous pouvez commencer votre tâche avec ces actions :

  1. Tâche → Wait → configurez-la

  2. Variables → Définir Variable:

    • Nom: %ProfilesActifs
    • Pour: %PACTIVE
  3. Variables → Recherche Remplacer Variable:

    • Variable: %ProfilesActifs
    • Recherche: ,NOM_DU_PROFIL,
    • cochez Ignorer la casse
    • Stocker les correspondances dans: %ProfilCourant

    Remplacez NOM_DU_PROFIL par le nom de votre profil. Un nom de profil doit être configuré manuellement.

  4. Tâche → Si: %ProfilCourant1 N'est Pas Défini

  5. Tâche → Arrêter

    Alternativement, mettez une action qui vous informe que le profil s'est désactivé entre-temps.

  6. Tâche → Sinon

  7. Configurez les actions que vous souhaitez exécutées si le profil reste actif après N temps.

0 votes

Cette approche a des problèmes. Le premier problème est que je ne vérifie pas le fait que pendant le temps que j'attends, le profil peut avoir été désactivé et activé plusieurs fois. Je vais voir ce que je peux faire.

0 votes

Pour le problème évident ici : mettre en place une tâche de sortie et arrêter la tâche d'entrée à partir de là. Problème résolu.

0voto

GNL Points 1

Qu'est-ce que je fais avec succès:

mon profil 1

ce que je veux pour activation

Tâche 1 Délai

  1. Attendre x temps pour confirmer l'activation
  2. Définir %variable_Active = 1
  3. Attendre 1 seconde
  4. Définir %variable_Active = 0

\=== ET ===

Activer mon profil

  1. %variable_Active == 1
  2. %monprofil est activé

Tâche 1 Actions

ce que je veux voir fait

0 votes

Bienvenue sur Android SE! Je vois que votre réponse est un peu cryptique, pourriez-vous s'il vous plaît expliquer aux futurs lecteurs exactement ce que vous êtes en train de faire ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X