Verzögerte Ausführung eines Exit Tasks

CyanP760

CyanP760

Fortgeschrittenes Mitglied
15
Hallo,

habe mir mit Tasker und Security Settings ein Profil erstellt, dass bei Aktivierung einer bestimmten App (z.B. Maps, Earth etc.) das GPS und den Standortdienst anschaltet. Klappt auch prima. Möchte den Exit Task jetzt so gestalten, dass er 30 Sekunden nach Beendigung der App abwartet, bevor er das GPS und den Standortdienst ausschaltet. Krieg das leider nicht gebacken, mit der Verzögerung. :(

Hat einer mal Rat für mich? Danke im Vorraus
 
vor dem Beenden von GPS:
- Aktionskategorie --> Task
- Aktion --> Warte (Wert eingeben)
sollte eigentlich funktionieren
 
  • Danke
Reaktionen: CyanP760
Klappt so leider nicht. Muss das Plugin von Secrity Setting nutzen. Funzt auch prima soweit. GPS/Standortservice gehen an und aus mit Start und Beendigung der App. Aber bein Exit Task möchte ich gern noch eine Verzögerung einabauen. Hab mit Variablen rumprobiert aber nichts passendes gefunden
 
Zuletzt bearbeitet:
anscheinend hast Du nicht richtig verstanden.
Im Task GPS OFF an erster Stelle die Aktion wie von mir beschrieben, einfügen
 
  • Danke
Reaktionen: CyanP760
Ah, OK, hab heut ne lange Leitung. Sorry :rolleyes2: Scheint zu gehen. Danke :thumbup:
 
Hallo, ich nochmal. Leider klappt das noch nicht ganz so, wie ich mir das vorgestellt habe. Die Verzögerung des Exit Tasks klappt jetzt zwar, aber ich hatte mir das so vorgestellt, dass wenn ich z.B. Maps kurz schließe und gleich wieder öffne, der Task zum Aktivieren des Standortservices nicht erneut ausgeführt werden muss (damit ich nicht immer wieder auf "Zustimmen" tippen muss). Selbiges gilt , wenn ich zwischen zwei Apps, die beide den Standortservice nutzen, hin- und herwechsle.

Jetzt gestaltet sich das so, dass jedesmal wenn ich eine der besagten Apps öffne, der Task zum Aktivieren des Standortservices ausgeführt wird, unabhängig davon, ob er bereits an ist oder nicht.

Wie kann ich den (Eingangs-)Task so gestalten, dass er nur dann aktiv wird, wenn GPS und Standortservice ausgeschaltet sind?

Danke nochmal!
 
Hi, ich hab zwar nicht viel Ahnung, aber eventuell hilft dir ja ein Ansatz auch schon weiter?

Eingangstask:
IF %Status nicht gesetzt
- Aktiviere GPS ''Bedeutet: aktivieren, wenn vorher aus''
END IF
Setze %Status auf 1

Exittask:
Setze %Status auf 2 ''Merker für EXIT läuft, aber GPS noch an''
Warte 30s
IF %Status gleich 2 ''Bedeutet: kein neuer Start-Task gelaufen''
- Deaktiviere GPS
- Lösche %Status
END IF

Erklärung (Bitte nicht schelten, wenn ich mich nicht korrekt ausdrücke):
Eine Flusssteuerung über eine Variable ermöglicht hier eine saubere Entkopplung, auch bei Berücksichtigung, dass EXIT und Eingangstasks immer wieder zwischeneinander laufen könnten.
Im Eingangstask wird nur dann GPS aktiviert (und was sonst auch noch immer), wenn die Variable nicht gesetzt ist. Direkt danach wird die Variable aber immer, unabhängig von ihrem vorherigen Wert, gesetzt auf 1.
Im Ausgangstask wird nun zuerst der Status in der Variable geändert auf 2 (sie bleibt damit gesetzt). Nun wird in Ruhe gewartet. Nach der Wartezeit wird die Variable geprüft. Ist sie noch immer 2, bedeutet das, dass kein neuer Start erfolgt ist (dieser würde ja 1 setzen) und alles abgeschaltet werden kann, sowie die Variable gelöscht werden muss. Das Löschen aber wirklich nur ausführen, wenn kein neuer Start erfolgte (wenn der Variablenwert nach dem Warten noch 2 war).

Auch wichtig in dem Zusammenhang wäre, dass die Einstellungen zum Exittask angepasst werden müssen. Hier muss eine neuer Exittask einen bereits laufenden alten Exittask abbrechen. Ansonsten funktionieren die 30s nicht immer korrekt.

Nochmal ganz leicht mein Versuch:
Variable nicht gesetzt ==> aus
Variable =1 ==> gestartet
Variable =2 ==> läuft noch, ist aber im EXIT-Modus

Ich hoffe, ich habe keinen Denkfehler gemacht und zumind. einige Denkanstöße gegeben.
 
Moin
CyanP760 schrieb:
Wie kann ich den (Eingangs-)Task so gestalten, dass er nur dann aktiv wird, wenn GPS und Standortservice ausgeschaltet sind?

Code:
Profile: Maps active
  App active [ Name:Google Maps ]

  Entry: GPS Toggle
  Exit: GPS Toggle

Task: GPS Toggle (Collision Handling:Abort existing Task)*
  Wait [ MS: 125 Seconds: .... ]
  If [ %PACTIVE ~ *,Maps active,* ]
    Secure Settings [ Configuration:GPS Toggle ... ] If [ %GPS ~ off ]
  Else
    Wait [ MS: 0 Seconds:30 ...]
    Secure Settings [ Configuration:GPS Toggle ... ] If [ %GPS ~ on ]
  End If
Anturix

*) Task Properties
 
  • Danke
Reaktionen: icke0801
...geniale Lösung, so viel einfacher und übersichtlicher als mein Versuch.

Nur eine Frage zum Verständnis für mich: Wird die erste Wartezeit von 125ms benötigt, damit Tasker das Profil als beendet führt?
 
Moin

Nein. Die ist mittlerweile eigentlich unötig.
Ich hatte in früheren Versionen gelegentlich mal Probleme mit dem beenden des existierenden Tasks, wenn das System unter Last stand. Mit dem Wait lies sich das vermeiden.

Anturix
 

Ähnliche Themen

P
Antworten
25
Aufrufe
1.106
Pentatulim
P
D
Antworten
8
Aufrufe
537
Mathens
Mathens
X
Antworten
0
Aufrufe
277
xyzUpdate
X
Zurück
Oben Unten