WikiD Instructables

Tasker: Tasks

Tasks

A task is simply a set of actions which are performed one after the other.

Named / Anonymous Tasks

A task can be given a name. This allows:
  • the same task to be used in more than one profile
  • easier identification of what the task does
  • in the case of a task widget/shortcut, it provides a label for the icon on the home screen.

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 Anonymous task).

Task Visibility

Anonymous tasks are only visible when editing the profile that they are associated with.

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.

Task Icon

Each task has an associated icon, by default a question mark. The icon is used

Deleting Tasks

Named tasks can only be deleted via the Delete button on the Task Edit screen. Unnamed tasks are deleted automatically when the profile they are part of is deleted, or a named task is selected for that profile.

Named tasks cannot be deleted while a profile still refers to them.

When a task is deleted that is referred to by a previously created named widget or task, the widget will stop working.

Android does not allow Tasker to automatically remove the widget from the Home Screen.

Task Scheduling

When there is a single task waiting to be executed, it's actions are executed one-by-one until finished.

When there are several tasks in the queue at once, it's important to understand how they are handled:

  • only one action from the same action group can be executed at once to prevent interference
  • the task in the queue with the highest priority goes first and blocks lower priority tasks
  • tasks with the same priority take turns executing an action each, starting with the most recent addition to the queue unless one task is a child of the other (started via Perform Task), in which case the child executes first.

Task priority, 0 to 50 inclusive with 0 being lowest, is determined according to whatever causes the task to run.

  • enter tasks run by profiles have the priority specified in Profile Properties, the default is 5.
  • exit tasks run by profiles have the priority specified in Profile Properties plus 1001, the default is therefore 1016
  • tasks run by widgets or shortcuts can be set in Task Properties when the widget/shortcut is created, the default is 7
  • tasks run from scene elements have priority one more than the task which showed the scene
  • tasks run from the Test button in the task edit screen have priority 100 by default, long-click the play buttin to choose a different one.

A couple of guidelines are:
  • if you want a particular task to always interrupt other tasks that may be executing, give it a high priority
  • 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.

Action Groups

Actions are divided into groups for scheduling based on how long the action takes to execute and what it interferes with:
  • Speech: Say, Say To File
  • Javascript: Javascript
  • Fix: Get Location
  • Voice: Get Voice
  • Proxy: Display Brightness, Query Action, Photo, Photo Series, Photo Series Time
  • Proxy Scene Enter Key, Menu, Popup, Popup Task Buttons, Variable Query
  • Other Scenes: the name of the scene being shown
  • Normal: all other actions

Wait Actions

Wait and Wait Until are special cases. The rules for handling them are complicated and try to do the 'best thing' dependent on the situation.

Same-Profile Tasks

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.

This behaviour can be disabled by deselecting Enforce Task Order in the Profile Properties dialog.

Example
This example demonstrates the effect of Enforce Task Order and shows also how sub-tasks launched by Perform Task are handled.
Profile: Example
Enter Task: Enter1
   Perform Task, Enter2
Exit Task: Exit1
   Perform Task, Exit2
With Enforce Task Order:

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.

Without Enforce Task Order:

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.

Collisions

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.

The way in which a collision is resolved is specified by the user. There are 3 options:

  • the new task is ignored (the default)
  • the existing 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.
  • both tasks run simultaneously

Note that the last option can lead to several copies of a task all running at once.

Behaviour When Device Off

By default, after a few seconds of the screen being off Android will power down the device and thus running tasks will be paused.

In the Task Properties dialog, it can be specified that a task should keep running.

Dialogs
An action that shows some kind of dialog (such as a lock screen, popup, menu) blocks execution of any other action, even one of higher priority, until it is completed.
Wait / Wait Until
These are exceptions. A wait action can be interrupted by another task's action and will resume (if necessary) when the other task's action is finished.

Killing Tasks

If you have a problem with a task that never ends, you can manually end tasks with the Kill button in the Task Edit screen.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies