2024. április 27., szombat

Gyorskeresés

Útvonal

Cikkek » Telefónia rovat

Tasker - AZ Android alkalmazás

Mitől okos egy telefon? Mert szalad rajta az Angry Birds, netezel, közösségi oldalon lógsz? Közel sem...

[ ÚJ TESZT ]

Folytatás...

Ugye szó volt a Context-ek lelki világáról, a state és event típusokról. Az Alkalmazások Context egy state típusú, vagyis egy állapotot monitoroz, esetünkben azt, hogy a kiválasztott alkalmazások egyike előtérben fut-e éppen, vagy nem. Ha előtérbe kerül az egyik, akkor aktivál és egészen addig aktív is marad, míg a program előtérben van. Essék szó most arról, hogy a state típusú Context-ek számon tartják az elvégzett beállításokat, úgy mint a GPS bekapcsolása.

Kis kitérő: két fajta task létezik. A szó szoros értelmében vett parancs, ami egyszer lefut, elvégez valamilyen műveletet, oszt' ennyi. Ezeket a task-okat egy kis Tasker ikon különbözteti meg a kétoszlopos menüsoron. A másik fajta task pedig a beállítás, ami egy rendszerbeállítást változtat meg (mint a GPS-vevő bekapcsolása - pont úgy, mintha az Android beállítások menüből halásznád elő ezt az opciót) és ezeket egy kis fogaskerék ikon különbözteti meg a menüsoron és úgy a task "építőkockája" végében.

Ahogy az alábbi képen is megfigyelhetőek a fogaskerék és villám ikonok. Úgymint mondjuk a "Lock", mely egy közönséges parancs ami lezárja a telefont. És körülötte egy csomó beállítás, mint például a kijelző fényerőssége.

E rövid kitérő után könnyebben értelmet nyerhet, miszerint a state típusú Context-ek alapesetben megjegyzik az elvégzett beállításokat, majd a profil deaktivációja után ezeket visszaállítják eredeti értékükre.

Ez fontos tény; gyakran találkozni fogunk majd ezzel a problémával, hogy mi is történik egy profil deaktivációját követően, ill. mit szeretnénk, hogy mi történjen. Ezt a tulajdonságot természetesen többféle módon tudjuk manipulálni, a korábbi verziókban még magától értetődő tény volt, amit ilyen-olyan trükkökkel kellett kijátszani, ha nem akartuk visszaállítani az elvégzett módosításokat eredeti állapotukra. Az újabb verziókban már lehetőségünk van kikapcsolni ezt az opciót, ha úgy akarjuk.

Tehát az első működő profilunk már remélhetőleg zökkenőmentesen teszi a dolgát, de mi most belenyúlunk kicsit. Az a feladat most, hogy ha az egyik kiválasztott alkalmazásból kilépek (praktikusan ha mondjuk bezárom vagy átváltok a Google Maps-ből), akkor nem kapcsolja ki azonnal a GPS-t, hanem várjon ezzel úgy 5 percet, hátha visszalépek a GMaps-be, és minden mehet tovább késlekedés nélkül.

Ehhez nyissuk meg a Tasker-t és a profilok fülön válasszuk ki a sajátunkat! Az aktuálisan kijelölt profil lenyílik, láthatóvá téve a benne foglalt Context-eket és Task-okat. Egy második Task hozzáadásához hosszan kell böknünk a Task elemére, majd a legördülő menüből válasszuk ki az Exit Task-ot! A műveletsor ezután éppen ugyanúgy néz ki, mint az Enter Task létrehozásakor: választhatunk egyet a meglévők közül vagy létrehozhatunk újat, adhatunk neki nevet, vagy hagyhatjuk anonim Task-nak, megnyílik a szerkesztőablak és az sem különbözik a korábbitól.

Itt belehúzunk egy kicsit és sorban adjuk hozzá ezeket a task-okat:
1. Task/Wait 5 perc,
2. Misc/GPS set off if (és most jön a lényeg) %PACTIVE !~ *Auto GPS* (képzeletbeli csoki jár annak, aki ezt önállóan megoldja!)
3. Alert/Flash "Gps kikapcsolva."

Majd a szerkesztőablakban nyissuk meg a Task tulajdonságait (szerszámos ikon), és az ütközéskezelésnél* válasszuk ki az "Abort Existing Task" menüpontot! Ezzel azt érjük el, hogy valahányszor deaktiválódik a profil, úgy újraindul az Exit Task és vele az 5 perces számláló. Ha végeztünk, pipa, pipa és voilá! Lehet tesztelni a GMaps-el, vagy amilyen alkalmazást meghatároztatok! :)

Figyeljük meg az Enter és Exit Task-ok közti különbségeket a felületen:

Nem megy? Segítek:
Odáig meg kell lennie, hogy a GPS task ablakában "off" opciót választottuk. Alatta bepipáljuk az "if" kapcsolót, majd az új sorban látunk két mezőt, közte egy furcsa gombbal, valamint a pipa mellett még egy gombot egy címke ikonjával.
Itt határozhatunk meg feltételeket, aminek teljesülnie kell ahhoz, hogy ez a task lefusson. Ha nem igaz a feltétel, akkor egyszerűen csak átugrik sorban a következő task-ra a program.

Bal oldali mezőbe írjuk azt az értéket, amit össze akarunk vetni a jobb oldali mezőbe írtakkal. Vagyis a bal oldalit vizsgáljuk a jobb oldalival. Stimmt? A középső gomb alatt választjuk ki miként akarjuk vizsgálni. A lehetőségeink a következők:

Matches - egyezik, vagyis a két oldalon ugyanaz a kifejezés van.
Doesn't Matches - nem egyezik, az előző invertálva, vagyis igazat ad minden helyzetben, ha a két oldalon nem ugyanaz a kifejezés áll.
Maths: Less Than - remélem ez azért egyértelmű, két számot vizsgál, egyszerű relációs jelek, avagy "kacsacsőrök" használatával.
Maths: Greater Than - előző megfordítása.
Maths: Equal - egyenlőség matematikai értelemben (nem ugyanazt tudja, mint a Matches, mert az egyik az üres változót nullaként értelmezi, a másik nem - aki érti...).
Maths: Is Even - igaz, ha páros szám.
Maths: Is Odd - igaz, ha páratlan szám.
Is Set - igaz, ha van értéke a változónak (deklarálva van).
Isn't Set - gondolom sejthető...
Matches Regex - reguláris kifejezéssel való összehasonlítás.
Doesn't Matches Regex - ...

Nekünk innen most a fenti példához a Doesn't Matches kell, röviden a !~ jelölés. A %PACTIVE egy globális rendszerváltozó, mellyel az éppen aktív profilokat monitorozza a Tasker, és azt vizsgáljuk, hogy szerepel-e benne a profilunk neve (ezért adtunk nevet neki az elején). A jobb oldali mezőbe két csillag közé írjuk a profil nevét. A Tasker egy végtelenül leegyszerűsített kifejezéseket használ a karakterláncok vizsgálatára, itt a csillag éppen azt tudja, mint a Windows-os megfelelője, vagyis bármilyen karaktert helyettesít és bármilyen mennyiségben.

A %PACTIVE változó pedig nemes egyszerűséggel vesszővel elválasztva felsorolja az aktív profilokat, amiben mi azt vizsgáljuk, hogy szerepel-e a mi profilunk neve. (Ha egyszerre csak egy aktív profilunk van, akkor a változó értéke egyenlő lesz magával a profil nevével, mint egyetlen felvett érték. Működhetne a példánkban csillagok nélkül is e feltételek mellett. De amint lesz még egy profil, vagy több, ami aktív, onnantól szükség lesz a joker karakterekre.) A változókkal és a kifejezésekkel nem kívánok foglalkozni egyelőre. Az első lépésekhez aligha lesz szükség ezek használatára, ez már a tapasztaltabb Tasker használók játékszere.

*Ütközéskezelés a Tasker-ben:
Akkor merül fel ez a probléma, ha egy profil többször elindítja egymás után a hozzá tartozó Task-ot, mielőtt még az első példánya végig ért volna a parancsokon. Multitasking lévén (a szó szoros értelmében) ha az alkalmazásban több profil több Task-ot is elindít, akkor alapesetben (más esetekben lásd kézikönyv!) minden egyes parancssor elvégzését követően átvált a többi Task-ra egy-egy parancs erejéig (óvodás példával illusztrálva: "egy nekem, egy neked, egy nekem..."). Ennél a gyakorlatban azért valamivel szofisztikáltabb a helyzet, az azonos fajtájú parancsok esetén van ez (két párhuzamos Alert parancs, vagy két Say parancs), bővebb magyarázatért lásd kézikönyv! Ütközésnél, ha ugyanaz a Task több példányban indul el, akkor itt tudjuk szabályozni mi történjen:
1. Abort New Task - az újabb példányt leállítja, így egy időben csak egy példány futhat, az elsőnek elindított.
2. Abort Existing Task - a korábban elindított példányt félbeszakítja a másodjára elindított példány.
3. Run Both Together - Mindkét (vagy több) példány futtatása (nem ajánlott, mivel folyamatosan átvált köztük minden parancs elvégzése után, ezért nagyon lelassulhat a végrehajtás).

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.