forked from joaomgcd/TaskerDocumentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
userguide_summary.html
9780 lines (7598 loc) · 306 KB
/
userguide_summary.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!--#include file=tablestart.html -->
<P>
<I>
This document is a one-page compilation of the on-device userguide
intended for printing out for use as a reference.
</I>
<P>
<A NAME="index.html"/>
<H2>
Tasker Userguide
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
<UL>
<LI>Profiles
<UL>
<LI><A HREF="#activity_main.html">Main Screen</A></LI>
</UL>
<UL>
<LI>Contexts
<UL>
<LI><A HREF="#appcontext.html">Application</A></LI>
<LI><A HREF="#timecontext.html">Time</A></LI>
<LI><A HREF="#daycontext.html">Day</A></LI>
<LI><A HREF="#loccontext.html">Location</A>
<UL>
<LI><A HREF="#activity_locselect.html">Location Edit</A>
</UL>
<LI><A HREF="#activity_stateedit.html">State</A>
<UL>
<LI><A HREF="#help/sh_index.html">A-Z</A>
</UL>
<LI><A HREF="#eventcontext.html">Event</A>
<UL>
<LI><A HREF="#activity_eventedit.html">Event Edit</A>
<LI><A HREF="#help/eh_index.html">A-Z</A>
</UL>
</UL>
</LI>
</UL>
<LI>Tasks
<UL>
<LI><A HREF="#tasks.html">General</A>
<LI><A HREF="#activity_taskedit.html">Task Edit</A>
<LI><A HREF="#flowcontrol.html">Flow Control</A></LI>
<LI><A HREF="#app_widgets.html">Task Widgets / Shortcuts</A>
<UL>
<LI><A HREF="#activity_widget_configure.html">Configuration</A>
</UL>
<LI>Actions<BR>
<UL>
<LI><A HREF="#activity_actionedit.html">Action Edit</A>
<LI><A HREF="#settings.html">Settings</A></LI>
<LI><A HREF="#help/ah_index.html">A-Z</A></LI>
</UL>
</UL>
</LI>
<LI>Scenes
<UL>
<LI><A HREF="#scenes.html">General</A></LI>
<LI><A HREF="#activity_sceneedit.html">Scene Edit</A></LI>
<LI><A HREF="#activity_scenepropertiesedit.html">Scene Properties</A></LI>
<LI>Scene Elements<BR></LI>
<UL>
<LI>
<A HREF="#element_button.html">Button</A>
<A HREF="#element_checkbox.html">CheckBox</A>
<A HREF="#element_doodle.html">Doodle</A>
<A HREF="#element_textedit.html">EditText</A>
<A HREF="#element_image.html">Image</A>
<A HREF="#element_map.html">Map</A>
<A HREF="#element_menu.html">Menu</A>
<A HREF="#element_picker.html">Number Picker</A>
<A HREF="#element_shape.html">Oval</A>
<A HREF="#element_shape.html">Rectangle</A>
<A HREF="#element_slider.html">Slider</A>
<A HREF="#element_spinner.html">Spinner</A>
<A HREF="#element_text.html">Text</A>
<A HREF="#element_toggle.html">Toggle</A>
<A HREF="#element_video.html">Video</A>
<A HREF="#element_web.html">Web</A>
<LI><A HREF="#activity_elementedit.html">Element Edit</A></LI>
</UL>
</UL>
<LI>Variables
<UL>
<LI><A HREF="#variables.html">General</A></LI>
</UL>
<LI>Miscellaneous
<UL>
<LI><A HREF="#androidpowermanagement.html">Android System Power Management</A></LI>
<LI><A HREF="#appcreation.html">App Creation</A></LI>
<LI><A HREF="#beginner.html">Beginner Mode</A></LI>
<LI><A HREF="#cpu.html">CPU Control</A></LI>
<LI><A HREF="#encryption.html">Encryption</A></LI>
<LI><A HREF="#gestures.html">Gestures</A></LI>
<LI><A HREF="#intents.html">Intents</A></LI>
<LI><A HREF="#java.html">Java</A></LI>
<LI><A HREF="#javascript.html">JavaScript</A></LI>
<LI><A HREF="#icons.html">Icons</A></LI>
<LI><A HREF="#loctears.html">Location Without Tears</A></LI>
<LI><A HREF="#maths.html">Maths</A></LI>
<LI><A HREF="#matching.html">Pattern Matching</A></LI>
<LI><A HREF="#midi.html">MIDI</A></LI>
<LI><A HREF="#power.html">Power Usage</A></LI>
<LI><A HREF="#activity_runlog.html">Run Log</A></LI>
</UL>
</LI>
<LI>FAQs
<UL>
<LI><A HREF="#faqs/faq-how.html">How Do I... / Can I... ?</A>
<LI><A HREF="#faqs/faq-problem.html">Usage Problems</A>
<LI><A HREF="#faqs/faq-why.html">Why... ?</A>
<LI><A HREF="#faqs/faq-appcreation.html">App Creation</A>
<LI><A HREF="#faqs/faq-other.html">Other</A>
</UL>
</LI>
<LI>Web Links
<UL>
<LI><A HREF="http://tasker.wikidot.com">Wiki (Step-throughs, Recipes)</A>
<LI><A HREF="http://tasker.dinglisch.net/tour.html">Tour</A>
<LI><A HREF="http://tasker.dinglisch.net/bugs.html">Bugs / Limitations</A>
<LI><A HREF="http://tasker.dinglisch.net/todo.html">Plans</A>
<LI><A HREF="http://tasker.dinglisch.net/developers.html">Developers</A>
<LI><A HREF="http://tasker.dinglisch.net/changes.html">Release Notes</A>
</UL>
</UL>
<A NAME="activity_main.html"/>
<H2>
Main Screen
<IMG style="float:right;" SRC="icon_tasker.png"/>
</H2>
This is the first screen shown when you startup Tasker. It allows you
to organize and configure Tasker's four main 'building blocks':
<I>Profiles, Tasks, Scenes</I> and <I>Variables</I>.
<UL>
<LI>Main Tabs
<UL>
<LI><A HREF="#profiles">Profiles</A>
<LI><A HREF="#tasks">Tasks</A>
<LI><A HREF="#scenes">Scenes</A>
<LI><A HREF="#variables">Variables</A>
</UL>
<LI><A HREF="#action">Action Bar</A>
<LI><A HREF="#menus">Menus</A>
<LI><A HREF="#projects">Projects</A>
</UL>
<H3>Main Tabs</H3>
Displayed in the action bar on most devices.
<UL>
<LI><B>Click</B> on a tab to view a list of the relevant things
<LI><B>Click</B> on an <b>already selected</b> tab to get options for it
</UL>
<!-- __________________________ PROFILES _________________________ -->
<A NAME="profiles" />
<H4><I>Profiles</I></H4>
Each item in the list represents a profile. The profile links contexts (conditions) on
the left to tasks which should be run on the right. The profile name is green if
the profile is active. There are three main parts to each profile.
</P>
<H5><I>1. Title Bar</I></H5>
<P>
This shows the profile name (or description if it has no name) and a
switch on the right shows whether the profile is enabled or not.
</P>
<P>
<UL>
<LI><B>Click</B> on the name to expand / collapse the profile. When expanded, the contexts and tasks (described below), are visible.
<LI><B>Long-click</B> on the profile name to get profile options or to drag profile(s) around
<LI><B>Click</B> on the switch to control whether the profile is enabled or not.
</UL>
<P>Important: the switch being set to <B>on</B> does <B>not</B> mean the profile is <B>active</B>
(will run its tasks), it means that the profile <B>can</B> become active
<B>if</B> its conditions are met.
</P>
<H5><I>2. Contexts</I></H5>
<P>
On the left hand side of the profile are an icon and text for each context in the
profile. The contexts dictate when the profile should become active. When <B>all</B> contexts
are active then the profile will be active.
</P>
<UL>
<LI><B>Click</B> on the context to edit it
<LI><B>Long-click</B> to show management options, such as editing or adding a new context
</UL>
<P>
You can configure what clicks and long-clicks on contexts do in <CODE>Menu / Prefs / UI</CODE>.
</P>
<H5><I>3. Tasks</I></H5>
<P>
On the right hand side of the profile are one or two tasks to
carry out based on its activation status.
</P>
<UL>
<LI><B>Click</B> on the task to edit it
<LI><B>Long-click</B> to show management options.
</UL>
<P>
A task indicated with a <B>green, right-pointing</B> arrow is an
<I>entry</I> task, executed when the profile first becomes active.
</P>
<P>
A task indicated with a <B>red, left-pointing</B> arrow is an
<I>exit</I> task, executed when the profile becomes inactive again.
</P>
<P>Exception: a profile containing an event context or a repeating
or non-ranged time context has two green
arrows, to denote that both tasks are executed immediately because
the profile activation and deactivation is instantaneous.
</P>
<P>Click on the <B>Profiles</B> tab when it is already selected for
general profile-related options such as sorting.
</P>
<!-- __________________________ TASKS _________________________ -->
<A NAME="tasks" />
<H4>Tasks</H4>
The task list shows the named <A HREF="#tasks.html">tasks</A> which have been created.
<UL>
<LI><B>Click</B> on a task to edit it
<LI><B>Long-click</B> for options or to drag task(s) around
</UL>
<P>
Note that a profile can be assigned an <I>anonymous</I> task (one without
a name) which is not accessible in the task list, only via the
relevent profile in the profile list.
</P>
<P>Click on the <B>Tasks</B> tab when it is already selected for
general task-related options such as sorting.
</P>
<!-- __________________________ SCENES _________________________ -->
<A NAME="scenes" />
<H4>Scenes</H4>
The scene list shows the <A HREF="#scenes.html">scenes</A> which have been created.
<UL>
<LI><B>Click</B> on a scene to edit it
<LI><B>Long-click</B> for options or to drag scene(s) around
</UL>
<P>Scenes with a green name have been created but may be invisible (hidden).</P>
<P>Click on the <B>Scenes</B> tab when it is already selected for
general scene-related options such as sorting.
</P>
<!-- __________________________ VARIABLES _________________________ -->
<A NAME="variables" />
<H4>Variables</H4>
<P>The Variables tab is not shown if <A HREF="#beginner.html">Beginner Mode</A> is enabled.</P>
<P>By default, all global <A HREF="#variables.html">user-variables</A> that Tasker knows about are listed, which includes any that have a value set or are mentioned somewhere in a profile, task or scene.
</P>
<UL>
<LI><B>Click</B> on a variable to edit it
<LI><B>Long-click</B> for options
</UL>
<P>
Note that variables whose names are all lower-case are <I>local</I> variables and not shown because they are only valid within the task that refers to them.
</P>
<P>Click on the <B>Vars</B> tab when it is already selected for
general variable-related options such as sorting and filtering.
</P>
<P>
The filter controls function as follows:
</P>
<UL>
<LI><B>Indexed</B> (button)<BR>includes variables whose names end in a number e.g. <CODE>%LOC3</CODE>, otherwise they are excluded.
<LI><B>Empty</B> (button)<BR>includes variables which have currently have no value assigned, deselect to show only variables that have a value.
<LI><B>Referenced</B> (button,home project only)<BR>includes variables which are referenced in profiles, tasks or scenes.<BR>Deselect to show only 'orphan' variables.
<LI><B>Filter</B> (textbox)<BR>excludes variables which don't contain the specified text somewhere in their name (case-sensitive)
</UL>
<P>In a user-created project, only variables referenced by that project are shown.</P>
<P>
Unlike most screens in Tasker, changes made in the variable list cannot be cancelled.
</P>
<!-- -------------------------- ACTION BAR --------------------- -->
<A NAME="action" />
<H4>Action Bar</H4>
<H5><I>Apply</I> Button</H5>
<P>
Save and apply any changes which have been made <B>without</B>
exiting the UI.
</P>
<P>
This is unnecessary prior to leaving the UI via
the back button or home key, it's just for convenience
when testing changes.
</P>
<P>
Not visible in <A HREF="#beginner.html">Beginner Mode</A>.
</P>
<H5><I>Overflow</I> Button</H5>
Click to access <A HREF="#menus">menu options</A> if no menu hard-key is available on the device.
<!-- -------------------------- MENUS --------------------- -->
<A NAME="menus"/>
<H3>Menus</H3>
<H4>Menu Item: Browse Examples</H4>
Links to websites with projects, profiles etc offering solutions for common
problems. Important: once downloaded you need to import the file into
your active user data. For example, profiles are imported by long-clicking
the profile tab and selecting Import.
<H4>Menu Items: Data</H4>
<H5>Clear</H5>
Removes all data that has been created to that point. Does
not remove preferences (use <CODE>Menu / Preferences</CODE> and click <B>Defaults</B> for
that) or variables (long-click on the Variables tab for that).
<H5>Backup</H5>
Saves the existing user data to a backup file on external storage.
<H5>Restore</H5>
Options for restoring backups of various types.
<!-- -------------------------- PROJECT TABS --------------------- -->
<A NAME="projects"/>
<H3>Projects</H3>
<P>
Tasker allows organisation of profiles, tasks, scenes and variables
into groups called <I>Projects</I>, each with a separate <I>Project Tab</I>.
</P>
<P>The projects tabs are hidden in <A HREF="#beginner.html">Beginner Mode</A>.
</P>
<UL>
<LI><B>Click</B> on a project tab to switch to viewing only
things in that project
<LI><B>Long-click</B> on a project tab for options, including
adding a new tab. Options can also be accessed by a single click on the
selected project tab.
<LI><B>Long-click and Select</B>, then drag to a project tab, any items you
want to move to that project
</UL>
<P>The first tab has a slightly special status, it cannot be removed
and anything which is not a member of another project is placed there.
</P>
<A NAME="appcontext.html"/>
<H2>
Application Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
<P>
An <I>Application Context</I> is activated when selected parts of one or more application are
running.
<P>
<P>
Important: in Android versions after (and including) L, app detection is much less accurate.
For some apps it may not work at all, for others it may activate and never deactivate.
</P>
<H4>Controls</H4>
<H5><I>App</I> button</H5>
When checked, indicates that the context will become active if any of the selected applications
is in the <I>foreground</I>, meaning it is currently being displayed to the user.
<H5><I>Services</I> button</H5>
When checked, indicates that the context will also become active if a service
associated with any of the selected applications is running.
<P>
Note that services other than the obvious ones may be running. For example,
the default Play Music app may have a download service running even when not playing
music at a particular time.</P>
<H5><I>Invert</I> button</H5>
When the context is <I>inverted</I>, it will become active when any
application <B>apart from</B> the selected ones is matched
<H5><I>All</I> button</H5>
Usually only applications are shown for selection which would usually be shown
in the launcher. The All button shows certain other launchable activities.
<P>This button in no way affects how the context behaves.</P>
<H4>Application Checking</H4>
<P>
When any profiles have application contexts specified, Tasker checks frequently
to see if one of those applications has been launched. The default is every
1.5 seconds.
</P>
<P>
If you would like quicker response, or you suspect this is severely increasing
your battery usage, you can change this value in preferences
(select <CODE>Menu / Preferences / Monitor</CODE> from the main screen).
</P>
<A NAME="timecontext.html"/>
<H2>
Time Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
<P>
A <I>Time Context</I> specifies a particular range, or one (or more) points in time.
There are three major components, at least one of which must be selected (by enabling
its checkbox on the left):
</P>
<UL>
<LI><B>From Time</B>: the starting time of the range. If it's not specified,
<B>00:00</B> is assumed.
<LI><B>To Time</B>: the end time of the range, inclusive. The context will deactivate
after the <B>end</B> of the specified minute.<BR>If To Time is not specified then
<B>23:59</B> is assumed i.e. the context deactivates at midnight.
<LI><B>Repeat</B>: if no repeat is selected, the context is assumed to be
a continuous range which starts at <I>From Time</I> and ends at <I>To Time</I>.
If a repeat <B>is</B> specified, the first occurrence is at <I>From Time</I> and then
every X hours or minutes until <I>End Time</I>.
</UL>
<P>
When not in <A HREF="#beginner.html">Beginner Mode</A>, it's possible to specify a <A HREF="#variables.html">global user variable</A> as the source of the <CODE>From Time</CODE> or <CODE>To Time</CODE> by
clicking on one of the rotating-arrow icons.
</P>
<P>
The variable contents must specify the hours and minutes in <B>24-hour format</B> and
separated by a <B>period</B> (dot) or <B>colon</B> e.g. <I>13.45</I>. Leading 0s can be ommited
e.g. <I>9.7</I> for seven-minutes-past-nine-in-the-morning.
</P>
<P>Alternatively, the time can be specified in seconds-since-the-epoch format, in which case
only the hour and minute part of the specification are used.
</P>
<P>
When the variable value changes, the time context is reevaluated which may result in
it activating or deactivating. If the variable value does not specify a valid time then the profile will
deactivate (if it's already activated).
</P>
<P>Note: in some cases it may be wise to disable the profile (via the <I>Profile Status</I> action) before
changing the associated variable values. For example, if your time context is from 16.00 to 16.00 (i.e. acting
as an event) and it should be changed to 17.00,17.00, if you don't disable it first then as soon as
you change the first value the time context will become a 23 hour range (17.00-16.00) and probably
activate.
</P>
<P>
Notes:
</P>
<UL>
<LI>to specify a precise time, set <I>From</I> and <I>To</I> times the same. In that case, the context is treated as an instant event,
it it only active for a fraction of a second, so no setting restoration is done.
<LI>each repeat (if <I>Repeat</I> is set) is also treated like an instant event.
</UL>
<A NAME="daycontext.html"/>
<H2>
Day Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
A <I>Day Context</I> allows specification of one or more months and/or days of the
week/month.
<H4>Month Specification</H4>
The months are listed at the top, any of which can be selected. Selecting <B>no</B>
month has the same meaning as selecting <B>every</B> month i.e. has no restriction
on when the profile will become active.
<H4>Day of Week/Month Specification</H4>
Days of the week (<I>Sunday, Monday</I> etc) and/or month (<I>1st, 9th</I> etc) can be selected
independently with the pulldown centre-right. This will initially be for Week Days if
there are any defined, otherwise Month Days.
<P>
Selecting <B>no</B> day has the same meaning as selecting <B>every</B> day.
</P>
<P>
If you select <b>both</b> days of the week <B>and</B> days of the month, it requires both
conditions to be fulfilled for the profile to become active
e.g. selecting <I>Mon,Tue</I> and <I>11th</I> means the profile will become active when the
day is a <I>Mon</I> or <I>Tuesday</I> and <B>simultaneously</B> the <I>11th</I> day of the month.
</P>
<P>
If you are unsure if you have specified the day(s) you require, click the <B>Done</B>
button and you will see a verbal description at the top of the Profile Edit screen.
You can click on this to try again if it's not correct.
</P>
<A NAME="loccontext.html"/>
<H2>
Location Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
<P>
A <I>location context</I> specifies a circular geographical area in which
it is active. It is formed by a centre point (<I>latitude, longitude</I>) plus
a <I>radius</I> around that point.
</P>
<H4>Location Providers</H4>
A location provider is a method of supplying geographical coordinates. Tasker must
use one or more location providers to be able to decide when a location context
should become active or inactive.
<A NAME="gps"/>
<H5>GPS</H5>
<P>
The most accurate provider available (around +-10m), but its performance degrades quickly
indoors and it uses a relatively large amount of power.
</P>
<P>
To set the frequency of GPS fixes, see <CODE>Menu / Preferences / Monitor</CODE>.
<I>GPS Check Time</I> determines the check frequency in seconds while the device
is awake, <I>Off Check Time</I> while the device is asleep.
</P>
<P>
GPS will only be used for a particular context if it is specified in the location
edit screen.
</P>
<A NAME="net"/>
<H5>Network</H5>
This provider uses a combination of cell-towers
and WiFi information (if wifi is enabled) to determine the device's geographical location. It is
less power-hungry than GPS, but also less accurate (sometimes +- several kilometres)
and requires data network availability.
<P>
Network will only be used for a particular context if it is specified in the location
edit screen.
</P>
See also:
<UL>
<LI><A HREF="#activity_locselect.html">Location Edit Screen</A>
<LI><A HREF="#loctears.html">Location Without Tears</A> (guidance for choosing a location method)
</UL>
<A NAME="activity_locselect.html"/>
<H2>
Location Edit
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
This screen allows configuration of a <A HREF="#loccontext.html">Location Context</A>.
<H4>Map Display</H4>
The map shows the location (base of the flag icon), radius and names of all defined location contexts
<P>
The location currently being defined has a yellow base, other location contexts have a blue base.
</P>
<H4>Map Controls</H4>
<UL>
<LI><B>long-click</B> on the map to select a location for this context.
<LI><B>long-click then drag</B> on the flag for the current location to drag it
</UL>
<P>
Use the pull-down selector under the map to specify the radius for this context.
</P>
<P>
<B>Important:</B> if your radius is too small compared to the accuracy of
the fixes you are receiving, your context may never go active. If you can't get
a fix, try increasing the radius. Typically, a good radius would be around twice the
accuracy of the fixes you are receiving.
</P>
<P>
If you have no internet available in order to retrieve the map tiles, you can still use
the <B>Get Fix</B> button (see below) to specify your current location.
</P>
<H4>Action Bar Options</H4>
<H5>Grab ('My Location') Button</H5>
<P>
Acquires a location fix using the enabled and available providers (make sure the GPS
Button is clicked first if you want to use GPS).
</P>
<P>
Once a fix is acquired, the latitude, longitude and radius of this location context
are set according to it. If you reduce the radius after a fix, Tasker may no longer
accurately detect whether you are in or out of the context.
</P>
<P>
When trying to determine current location, Tasker will keep going with fixes until they stop improving (e.g. as the
GPS locks on to more satellites). If you get impatient you can press the Get Fix button
again to stop the process (its label is changed to <B>Stop</B> while a fix is being
acquired).
</P>
<H5>Address Menu Item</H5>
Allows entry of an address for which this location context should be active.
<H4>Bottom Buttons</H4>
<H5>Net Button</H5>
The Net toggle button specifies whether to use the
<A HREF="#net">Network</A> location provider
to monitor for this location
<H5>GPS Button</H5>
The GPS toggle button specifies whether to use
<A HREF="#gps">GPS</A>
to monitor for this location
(assuming it is available on the device). If GPS is not used, the network will need
to be available in order to query for location fixes based on cell-towers or WiFi
data.
<A NAME="activity_stateedit.html"/>
<H2>
State Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
A <I>State Context</I> allows specification of the continuing state
of a software or hardware entity.
<P>
The State Edit screen allows configuration of the state and its
parameters.
</P>
<H4>State Name</H4>
The name of the state is given at the top of the screen.
Clicking on it allows changing to another state type.
<P>
Next to the name is a button to show help for the
displayed state type and its parameters. Be sure to check the
help text if you have trouble with a particular state.
<P>
<H4>State Parameters</H4>
<H5>General Parameters</H5>
All states have parameters to specify more details about the state.
<P>
Text parameters are treated as <A HREF="#matching.html">pattern matches</A>.
</P>
<H5>Invert Parameter</H5>
All states have an <I>invert</I> parameter, which specifies that the context should
become active when it would usually be inactive, and vice-versa.
<A NAME="eventcontext.html"/>
<H2>
Event Context
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
An <I>Event Context</I> allows specification of an event
which is needed to activate its profile e.g. SMS received,
screen has gone off.
<P>
Events are a little different to other contexts because they
are <I>instantaneous</I> whereas other contexts usually have
a duration.
</P>
<P>
This means that it is nonsensical to specify that e.g. the
screen brightness should be set to X for the duration of the
event, so Tasker assumes that all <A HREF="#settings.html">settings</A>
actions should persist beyond the event.
</P>
<P>
For more information about specifying events, see
the <A HREF="#activity_eventedit.html">Event Edit screen</A>.
</P>
<H4>Event Parameters</H4>
When a task is triggered by an event, the parameters of the event that
ocurred are passed to the task so that it can make decisions based
on the event details.
<P>
The parameters are passed in the <A HREF="#arrays">array</A>
<I>%evtprm</I>.
</P>
<P>
The order of elements of the array have values which match the order
of the parameters of the event.
</P>
<P>Example: if an event's second parameter is an Application, %evtprm2
in the launched task will be set to the label of the application
which triggered the event.
</P>
<A NAME="activity_eventedit.html"/>
<H2>
Event Edit
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
This screen allows configuration of an <A HREF="#eventcontext.html">Event Context</A>.
<H4>Event Name</H4>
The name of the event is given at the top of the screen.
Clicking on it allows changing to another event type.
<P>
In the top right is a button to show help for the
displayed event type.
<P>
<H4>Priority</H4>
Only present for relevant events.
<P>
Selects the priority at which this event will be detected.
An event can be processed by other Tasker Profiles, other
installed applications and system processes.
</P>
<P>
If priority is high, then this profile will be more likely
to detect the event before other processes, and vice versa.
</P>
<H4>Stop Event</H4>
Only present for relevant events.
<P>
If checked, then once this profile has dealt with the event,
other user or system applications will no longer be able to
see it.
<P>
You can achieve different effects by combining <I>Priority</I>
and <I>Stop Event</I>. For instance, if you want to show a Tasker menu
when the camera button is pressed, you would set <I>Priority</I> <B>High</B>
and check the <I>Stop Flag</I>, because you do not want the
camera application to appear afterwards.
<H4>Event Parameters</H4>
<P>
Some events have paramaters to specify more details about the event.
To get help on particular parameters, click the question-mark icon
at top right.
</P>
<P>
Text parameters are treated as <A HREF="#matching.html">pattern matches</A>.
</P>
<P>
If you would like to make more complex comparions (e.g. mathematical expressions), leave the event parameter
blank and instead put a <A HREF="#condition">condition</A> on the first
action of the task you execute with the profile.
</P>
<A NAME="tasks.html"/>
<H2>
Tasks
<IMG style="float:right" SRC="icon_tasker.png"/>
</H2>
A task is simply a set of actions which are performed one after the other.
<H4>Named / Anonymous Tasks</H4>
A task can be given a name. This allows:
<UL>
<LI>the same task to be used in more than one profile</LI>
<LI>easier identification of what the task does</LI>
<LI>in the case of a <A NAME="app_widgets.html">task widget/shortcut</A>,
it provides a label for the icon on the home screen.</LI>
</UL>
<P>
When creating a profile, widget or shortcut,
often the associated task will consist only of one or two actions which will not
be reused. For this case, Tasker allows you to create a task without a name
(an <I>Anonymous</I> task).
</P>
<H4>Task Visibility</H4>
Anonymous tasks are only visible when editing the profile that they are associated
with.
<P>
Named tasks are visible on any screen that allows task editing.
Any changes made to the set of tasks in any screen is reflected in all the other
screens.
<H4>Task Icon</H4>
Each task has an associated icon, by default a question mark. The icon is used
<UL>
<LI>to represent the task on the home screen when it is used as a
<A NAME="widgets.html">widget or shortcut</A>
<LI>when the task is <A HREF="#appcreation.html">turned into and app</A>
<LI>for easier identification of the task within the Tasker UI
</UL>
<H4>Deleting Tasks</H4>
Named tasks can only be deleted via the <I>Delete</I> button on the
<A HREF="#activity_taskedit.html">Task Edit</A> screen. Unnamed tasks
are deleted automatically when the profile they are part of is deleted,
or a named task is selected for that profile.
<P>
Named tasks cannot be deleted while a profile still refers to them.
</P>
<P>
When a task is deleted that is referred to by a previously created named
widget or task, the widget will stop working.
</P>
<P>
Android does not allow Tasker to automatically remove the widget from the
Home Screen.
</P>
<A NAME="scheduling"></A>
<H4>Task Scheduling</H4>
When there is a single task waiting to be executed, it's actions are executed one-by-one
until finished.
<P>
When there are several tasks in the queue at once, it's important to understand
how they are handled:
</P>
<UL>
<LI>only <B>one action</B> from the same <A HREF="#actiongroups">action group</A> can be executed at once to
prevent interference
<LI>the task in the queue with the <B>highest priority</B> goes first and blocks lower priority tasks
<LI>tasks with the <B>same priority</B> take turns executing an action
each, starting with the most recent addition to the queue <B>unless</B> one task is a child of the
other (started via <A HREF="#help/ah_run_task.html">Perform Task</A>), in which case the child executes first.
</UL>
<P>
Task priority, 0 to 50 inclusive with 0 being lowest, is determined according to whatever causes the task to run.
<UL>
<LI>enter tasks run by profiles have the priority specified in Profile Properties, the default is 5.
<LI>exit tasks run by profiles have the priority specified in Profile Properties <B>plus 1001</B>, the default is therefore 1016
<LI>tasks run by <B>widgets</B> or <B>shortcuts</B> can be set in Task Properties when the widget/shortcut is created, the default is 7
<LI>tasks run from scene elements have priority <B>one more</B> than the task which showed the scene
<LI>tasks run from the <B>Test</B> button in the task edit screen have priority 100 by default, long-click the play buttin to choose a different one.
</UL>
</P>
A couple of guidelines are:
<UL>
<LI>if you want a particular task to always interrupt other tasks that may be
executing, give it a high priority
<LI>if you have a task that lasts for a while,
you probably want to give it a low priority so it doesn't block other tasks
from being executed.
</UL>
<A NAME="actiongroups"></A>
<H4>Action Groups</H4>
Actions are divided into groups for scheduling based on how long the action takes to execute and what it
interferes with:
<UL>
<LI><B>Speech</B>: <CODE>Say, Say To File</CODE>
<LI><B>Javascript</B>: <CODE>Javascript</CODE>
<LI><B>Fix</B>: <CODE>Get Location</CODE>
<LI><B>Voice</B>: <CODE>Get Voice</CODE>
<LI><B>Proxy</B>: <CODE>Display Brightness, Query Action, Photo, Photo Series, Photo Series Time</CODE>
<LI><B>Proxy Scene</B> Enter Key, Menu, Popup, Popup Task Buttons, Variable Query
<LI><B>Other Scenes</B>: the name of the scene being shown
<LI><B>Normal</B>: all other actions
</UL>
<H4>Wait Actions</H4>
<P>
<CODE>Wait</CODE> and <CODE>Wait Until</CODE> are special cases. The rules for handling them are complicated
and try to do the 'best thing' dependent on the situation.
</P>
<H4>Same-Profile Tasks</H4>
Tasks launched by the same profile by default always execute in the order in which they are launched. Other tasks from the same profile remain completely inactive until any previous task from the same profile is complete. The main purpose of this rule is to correctly handle rapid changes in a profile's activation state.
<P>
This behaviour can be disabled by deselecting <I>Enforce Task Order</I> in the Profile Properties dialog.
</P>
<H5>Example</H5>
This example demonstrates the effect of Enforce Task Order and shows also how sub-tasks launched by
<A HREF="#help/ah_run_task.html">Perform Task</A> are handled.
<PRE>
Profile: Example
Enter Task: Enter1
Perform Task, Enter2
Exit Task: Exit1
Perform Task, Exit2
</PRE>
<B>With</B> Enforce Task Order:
<P>
Enter1 and Enter2 are both guaranteed to finish before either of Exit1 or Exit2. Whether Enter1 or
Enter2 finishes first depends on their relative priority. Same for Exit1 and Exit2.
All 4 tasks compete based on priority against tasks from other profiles. Exit tasks have a higher base
priority so will finish before Enter tasks.
</P>
<B>Without</B> Enforce Task Order:
<P>
If the profile goes active and inactive quickly, Enter1, Enter2, Exit1 and Exit2 will all compete
purely on priority. Since Exit tasks have higher base priority, Exit1 and Exit2 will probably finish first.
</P>
<A NAME="collisions"></A>
<H4>Collisions</H4>
Sometimes a task needs to be executed of which a copy is already executing.
This can happen quite often e.g. when a task widget button is pressed twice quickly,
or a task contains a Wait action or shows a dialog.
<P>
The way in which a collision is resolved is specified by the user. There are
3 options:
</P>
<UL>
<LI>the <B>new</B> task is ignored (the default)
<LI>the <B>existing</B> task is aborted and the new one starts from its first action.
The current action of the previous task is finished if it is already being carried out.
<LI>both tasks run simultaneously
</UL>
<P>
Note that the last option can lead to several copies of a task all running at once.
</P>