Tasker | Выполнение действий по событиям



Реп: (44)
Tasker
версия: 6.1.32

Последнее обновление программы в шапке: 16.05.2023

Прикрепленное изображение
ЧаВо (FAQ) | КУРСЫ | БИБЛИОТЕКА | ПЛАГИНЫ | ХИТРОСТИ (МСХ) | ˇПРИМЕРЫ (МРП) | СТОЛ ЗАКАЗОВ | КЛУБ
Скриншоты
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение

Галереи скриншотов:
- Tasker 5.9 Tasker (Пост just@man #92498338)
- Tasker 5.0 Tasker (Пост washerron #68839498)
Скриншоты версий 4.x и 1.x находятся в старой шапке

Краткое описание:
Выполнение действий по событиям.
Описание:
Продвинутый планировщик. Позволяет по разным событиям производить собственные действия.
Похож на Locale, Llama, Automagic, AutomateIt, MacroDroid, E-Robot, Automate — automatic tasks, EasyProfiles, Dessin, Atooma, Swip, только намного более мощный. Есть возможность создавать виджеты с произвольным списком действий.
Альтернативное описание:
Проблемно-ориентированный язык сценариев, позволяющий программировать в Андроид без знания каких-либо языков программирования и без навыков программирования вообще.

Домашняя страница: https://tasker.joaoapps.com/
Google Play: https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm

Скачать:
Версия: 6.1.32 GP version (Кот_Батон)
Версия: 6.1.29 от 09.05.2023 (R3m)
Версия: 6.1.27 из Google Play (Кот_Батон)
Версия: 6.0.10 Из Google Play (niks255)
Версия: 6.0.9 от 07.07.2022 г. (Ramil_)

Официальная история изменений

Внимание! В теме не обсуждаются вопросы покупки приложения равно как и восстановление покупок. Вопросы следует задавать в соответствующих темах (Покупка платных программ в Google Play, Google Play - Технические проблемы) и заодно можно заглянуть в ЧаВо вопрос 1.1.
информация о версиях
ˇ
Существует 3 официальных стабильных версии Tasker:
- версия для Андроидов ≥ 5.0
- версия для Андроидов 4.x
- версия для Андроидов < 4.0 (т.е. Андроидов 2.3 и ниже, для ясности будем считать, что Андроидов 3.x уже ни у кого не осталось).
Развивается лишь версия для Андроидов ≥ 5.0, остальные заморожены. Выложенный apk - стандартная версия из магазина Google Play, использует технологию Google Play Licensing для проверки лицензии (начиная с версии Tasker 5.2).
Если у Вас возникают проблемы с лицензией, можете а) просто купить Tasker и забыть о них; б) использовать версию 5.2.bf2 из раздела "Прошлые версии".
Ломать Tasker не рекомендуется, возможностей в нем много, все проверить невозможно, поэтому Вы никогда не будете знать, работает взломанная версия или нет. В теме накоплен большой опыт работы со взломанными версиями, он очень отрицательный.
В имени версии после номера может присутствовать суффикс .bf с цифрами, например, версия 5.2.bf1. bf означает bugfix, т.е. обновление стабильной официальной версии, в котором нет ничего нового, лишь исправлены ошибки. Суффикс .bf и номер после него считаются частью номера версии.
Никаких "модов" / "русиков" для программы не существует. Tasker не требует ни того, ни другого.
Помимо стабильных версий Tasker существуют бета-версии, их можно установить из магазина Google Play, подписавшись на программу бета-тестирования Android App testing - Google Play Beta testing на странице программы Tasker в Google Play. Бета-версии имеют суффикс b после номера, например, 5.1b.
Важное замечание: Ссылки на бета-версии в шапке темы не публикуются. Сами бета-версии в этой теме не обсуждаются, их поддержкой и ответами-советами занимается непосредственно разработчик. В данной теме разработчик программы Tasker не появляется, поэтому со всеми вопросами по бета-версиям обращайтесь к разработчику через официальные каналы, например, на официальный форум Tasker.
До версии Tasker 5.1 включительно (включая и версии для Андроидов < 5.0) одновременно выпускались два варианта программы: вариант для Google Play (имел суффикс m после номера версии, например, 5.1m) и непосредственно купленный у разработчика вариант программы (Direct-Purchase version), который не имел суффикса m.
Вариант без суффикса m также являлся официальным, обладал тем же самым функционалом, что и вариант для Google Play, но дополнительно поддерживал функции шифрования. Вариант без суффикса m - не ломаный, не привязанный к Google Play, имеющий встроенные функции проверки лицензии. (Возможный метод "получения" регистрации. Если вылетает при попытке ввести код, пробуем эту версию).
Также до версии Tasker 5.1 включительно (включая и версии для Андроидов < 5.0) после номера версии мог присутствовать суффикс u - update, полный аналог суффикса .bf для текущих версий, т.е. обновление стабильной официальной версии, в котором нет ничего нового, лишь исправлены ошибки. Буква u и номер после нее считаются частью номера версии. Например, версия 4.3u4m - стабильная версия для Google Play, по сравнению с 4.3m ничего нового в ней нет, однако, исправлены ошибки; версия 4.3u4 - непосредственно купленный у разработчика вариант версии 4.3u4.
Скачать версию для Андроидов 4.x
версии 4.9u4, 4.9u4m Tasker (Пост Alex0047 #57263470)
Официальная история изменений
плагин App Factory версия для Tasker 4.9u4
Скачать версию для Андроидов < 4.0
версия: 1.6u2m (вариант для Google Market, не ломаный)
Прикрепленный файлTasker_1.6u2m.apk ( 1.34 МБ )

версия: 1.6u2 (вариант, непосредственно купленный у разработчика, с поддержкой шифрования)
Прикрепленный файлTasker.1.6u2.apk ( 1.34 МБ )

Возможный метод "получения" регистрации для последнего варианта программы. Если вылетает при попытке ввести код, пробуем эту версию).


ВНИМАНИЕ!!! Правила темы. Рекомендуется внимательно прочитать.
1. Даже для реализации простейших задач желательно обладать хотя бы начальными навыками и понятиями, связанными с программированием (пусть даже очень поверхностными, на школьном уровне).
Замечание: Но если не обладаете, но очень хочется реализовать что-нибудь, можно и не обладать. Даже начальными. Совсем.
Важное замечание: Предпочтительнее использовать английскую локализацию в Tasker (т.е англоязычный Tasker), русская локализация местами может вас запутать, повести по ложному пути, заставить рвать волосы там где они у вас еще есть и т.д. Пример "русской" локализации.
2. Новичкам рекомендуется начинать с местных курсов, местных готовых решений, не вредно заглянуть и в местную библиотеку.
3. Задав вопрос и получив "невнятный", как вам кажется, ответ, прочтите его еще раз. Данная тема - это вполне самодостаточный и своеобразный организм. Как правило, в каждом ответе содержатся слова-"якоря", зацепив которые в "поиск", Вы найдете достаточное количество ответов, а иногда и 100% готовые решения.
Заметка - краткое практическое руководство по поиску в теме по словам-якорям: "как и что искать в теме".
4. Четко сформулированный вопрос со всеми-всеми-всеми нюансами увеличивает шансы оперативно получить ответ. Информация никогда не бывает лишней.
Замечания:
- Сообщение из одного предложения расценивается завсегдатаями, как приглашение поговорить о погоде. А поскольку здесь это - отклонение от темы, в ответ вы, вероятней всего, получите предложение ознакомиться с данными правилами.
- Сообщение из одной фразы "пробовал, не получилось", означает, что пробовали с вынутой из аппарата батарейкой, экран был черным, ничего не получилось.
- Информацию, которая может быть предоставлена в текстовом виде, рекомендуется в таком виде и предоставлять (спрятав, как правило, в тэг CODE). Как правило, к такой информации относится Run Log, logcat и логи ошибок. Скриншоты обычно игнорируются опытными пользователями Tasker, в виду неудобства извлечения из них информации, и порой, недостаточной информативности. Берегите свое и чужое время.
5. Если у вас не получается самому написать профиль, и вы хотите обратиться в тему за помощью, то:
- максимально подробно опишите задачу, которую Вы хотите решить, и свою проблему, т.е. что именно не получается. У разных людей не получается по-разному, знаете ли.
- обязательно выложите то, что уже получилось, в формате Description Таскера (см. ЧаВо, вопрос 10).
Примечание: Это "то" не обязательно должно иметь хоть какое-то отношение к вопросу. Мы должны знать, как минимум, степень вашего знакомства с Таскером и уровень ваших навыков в программировании. В противном случае рискуете получить ответ, который не сумеете понять. Да, если совсем ничего пока не получилось, значит и профиль вы написать не хотите. Если немного подумаете, то согласитесь с последним утверждением.
Примечание: Прочтите обсуждение хотелка, ответ, уточнение, оно показывает, насколько важно расписывать свои хотелки подробно.
6. Если вы хотите поделиться своим решением, оформите его в соответствии с ЧаВо, вопрос 9.
Примечание: Так же после исправления замечаний и рекомендаций вы можете разместить свое решение непосредственно в Каталоге рецептов

Замечание: Данная тема не является строго модерируемой, сообщения, нарушающие правила не будут незамедлительно удаляться. Однако, известно, что некоторые участники темы игнорируют сообщения с нарушениями, поэтому Вы рискуете не получить ответ на свой насущный вопрос или получить неполный ответ на него. И еще неизвестно, что хуже.
Прошлые версии
Версия: 5.15.12 от 21.02.2022 (R3m)
Версия: 5.14.6 Tasker (Ramil_)
Версия: 5.13.7 (build 5288) Paid (Valikovrepikov)
Версия: 5.13.7 Tasker (Ramil_)
Версия: 5.13.6 Tasker (Ramil_)
Версия: 5.13.5 Tasker (Ramil_)
Версия: 5.12.21 Tasker (R3m)
Версия: 5.12.20 Tasker (R3m)
Версия: 5.12.18 Tasker (R3m)
Версия: 5.11.14 Tasker (R3m)
Версия: 5.11.13 от 15/01/2021 (iMiKED)
Версия: 5.10.1 Tasker Paid от 06/10/2020 (betmen2)
Версия: 5.9.3 Tasker Paid от 04/08/2020 (betmen2)
Версия: 5.9.2 Tasker (Пост Serg R* #93627176)

Собранные здесь прошлые версии программы интересны только историкам-археологам, исследующим артефакты Цифрового века. Не надо скачивать эти версии, надеясь, что они будут работать. Текущие официальные стабильные версии работают заведомо лучше. А если вам кажется, что вы нашли в них ошибку, лучше обсудить это в теме или написать автору на оф.форум.
версия 5.9 Tasker (Пост Giacomino #91778463)
версия 5.8.2 Paid (Novakin)
версия 5.8 Paid version (Novakin)
версия 5.7.1 Tasker (Пост Giacomino #84894453)
версия 5.6 Tasker (Пост Alex0047 #78316391)
версия 5.5.bf2 Tasker (Пост alen2012 #77827876)
версия 5.2.bf2 Tasker (Пост Alex0047 #74571629)
версия 5.1 Tasker (Пост Alex0047 #69023208)
версия 5.0u7 Tasker (Пост Alex0047 #66567180)
версия 4.8u5 Tasker (Пост Alex0047 #50556293)
версия 4.7u3 Tasker (Пост Alex0047 #41599102)
версия 4.6u3 Tasker (Пост Alex0047 #37216898)
версия 4.5u1 Tasker (Пост nihilihin #34888513)
версия 4.4u3 Tasker (Пост Alex0047 #33631921)
версия 4.3u4 Tasker (Пост Henry1 #31181212)
версия 4.2u3 Tasker (Пост Giacomino #27022916)
версия 4.1u3 Tasker (Пост ScAnMaG #22883929)
версия 4.0u1 Tasker (Пост Oleg V #21050872)
версия 1.3.3u2 Tasker (Пост ScAnMaG #17226665)
версия 1.3.2u1 Tasker (Пост MENNENN #16762182)
версия 1.3.1 Tasker (Пост roly #14920421)
версия 1.3u1 Tasker (Пост skunsofob #14519505)

Ключевые версии Tasker на оф. сайте https://tasker.joaoapps.com/releases/

Если вы хотите помочь развитию темы Tasker, здесь Tasker (Пост R3m #99486981) собран список задач по наполнению шапки и структурированию темы.

Результаты предыдущих опросов
Прикрепленное изображение

p.s. выражается благодарность всем, кто принимал/принимает/будет принимать (и примет!) участие в создании шапки.

Сообщение отредактировал R3m - 19.10.23, 15:21
Причина редактирования: заменено лого приложения, убрано центрирование



Реп: (1136)
Возможности
Список основных событий и состояний
Приложения:
  • запуск и завершение работы приложения, включая отслеживание активности сервисов приложений
  • запуск выбранной операции (activity) приложения (долгий тап на имени приложения в списке выбора приложений для контекста Application)
Дата/время:
  • наступление определенного времени и/или даты, а также дня, недели, месяца, дня месяца или недели, последнего дня месяца
  • наступление и окончание определенного периода времени
События:
Приложения:
  • смена приложения
Дата/время:
  • изменение системной даты, времени, часового пояса
  • наступление и окончание события в будильнике, изменение будильника
Экран:
  • включение и выключение экрана, разблокирование экрана
Файловая система:
  • файл открыт, изменен, закрыт, перемещен, удален, изменены его атрибуты
Аппаратура:
  • нажатие некоторых аппаратных клавиш, в том числе расположенных на наушниках (проводных или беспроводных)
  • долгое нажатие клавиш громкости
  • подключение, отключение и извлечение SD карты
Медиа:
  • смена музыкального трека
Сеть:
  • обнаружение, подключение и отключение устройств Bluetooth
  • обнаружение NFC-метки
Телефон:
  • входящий или исходящий звонок, ответ на входящий, завершение разговора
  • получение СМС (MMS), включая нетекстовые СМС (Data SMS)
  • успешная отправка СМС (MMS) и ошибка при его отправке
  • пропущенный звонок
Питание:
  • изменение уровня заряда батареи, достижение полного заряда батареи, перегрев батареи
Сенсоры:
  • события от различных встроенных датчиков (освещенности, приближения к объекту, ориентации, перемещения, магнитного поля, атмосферного давления, температуры, влажности, пульса, шагомера)
  • пространственное перемещение аппарата заданным определенным образом - жест
  • встряхивание аппарата
  • возникновение значительного движения (ходьба, езда на велосипеде, движение в машине)
  • пройдено заданное количество шагов
Система:
  • изменение настроек в поставщике системных настроек (the settings provider)
  • окончание загрузки Андроида и начало выключения аппарата
  • достижение малого количества свободной памяти устройства
  • наступление определенного системного события в Андроиде - прием интента (intent)
  • смена системной локали
  • получение записи в системном журнале (logcat)
  • добавление, обновление и удаление приложения
  • нажатие иконки в быстрых настройках
  • смена обоев рабочего стола
Внутренние события Tasker:
  • старт сервиса монитора
  • запуск второго ярлыка (Secondary App Opened)
  • изменение таймера в виджете задачи
Интерфейс:
  • запрос пользователем помощи в приложении или в системе
  • нажатие кнопки виджета
  • возникновение определенного или любого окна (обыкновенного, всплывающего, диалогового)
  • появление и удаление уведомления от приложения в системной панели уведомлений, выбор пользователем такого уведомления
Переменные:
  • переменная установлена/очищена
Вход в географическую зону (определяемую с помощью GPS или по сотовым вышкам и точкам доступа WIFI) и выход из нее

Состояния:

Приложения:
  • наступление и окончание события в календаре
  • непрочитанное СМС (MMS)
Экран:
  • изменение ориентации экрана
  • состояние экрана (включен/отключен)
  • включение и выключение заставки экрана (Android Daydream)
  • включение и выключение темного режима (Android 10+ и некоторые устройства на Android 9)
Аппаратура:
  • подключение к автомобильной или настольной док-станции
  • подключение и отключение проводных или беспроводных наушников
  • подключение к HDMI
  • аппаратная клавиатура (открыта-выдвинута/закрыта-задвинута)
  • отслеживание нажатия медиа клавиш
  • события стилуса Samsung SPen: извлечение из держателя, установка в держатель, отображение и скрытие меню стилуса
  • подключение к компьютеру по шине USB и отключение от него
  • подключение к аппарату устройств USB и их отключение
Сеть:
  • включение и выключение режима "в самолёте"
  • включение и выключение режима автосинхронизации
  • подключение к устройству Bluetooth, наличие рядом устройства Bluetooth
  • включение и выключение адаптеров Bluetooth, NFC, WiFi. точки доступа WiFi, USB или Bluetooth (tethering), приемника GPS
  • подключение через виртуальную частную сеть (VPN) и отключение от этой сети
  • подключение к сети Ethernet и отключение от нее
  • установление и разрыв подключения к Интернет в определенном режиме мобильной передачи данных: 2G, 3G, 4G и других
  • обнаружение определенной (или любой) точки доступа WIFI, подключение к ней и отключение от нее
  • входящий/исходящий вызов
  • обнаружение вышки из заданного списка сотовых вышек
  • пропущенный вызов
  • достижение и потеря определенного уровня приема сигнала сотовой сети
Питание:
  • уровень заряда батареи в указанном диапазоне
  • повышение температуры батареи до определенного уровня, охлаждение батареи ниже определенной температуры
  • переход аппарата в состояние низкого энергопотребления (сна) и выход из него (Device Idle)
  • подключение и отключение зарядного устройства (проводного, беспроводного, питания от шины USB)
  • включение и выключение режима пониженного энергопотребления (режим Battery Saver, Powe Save Mode)
Сенсоры (при их наличии):
  • частота сердцебиения
  • влажность, давление, температура
  • освещенность, магнитное поле, датчик приближения
  • изменение ориентации устройства (лицом вверх/вниз, стоит вверх, перевернут вниз, на левом/правом боку)
  • иные датчики
Система:
  • старт и завершение пользовательской сессии
  • состояние настроек в поставщике системных настроек (the settings provider)
Внутренние состояния Tasker:
  • профиль активен
  • задача выполняется
  • значения переменных
Иное:
  • включение и выключение режима "не беспокоить" и беззвучного режима
  • изменение уровня громкости звуковых потоков звонка, разговора по телефону, сигнала тонального набора (DTMF), будильника, мелодий, уведомлений, системных оповещений
  • нажатие на программные кнопки и некоторые другие элементы пользовательского интерфейса Андроида и сторонних программ
  • изменение содержимого буфера обмена (clipboard)
Список основных действий
Предупреждения:
  • подача звукового сигнала заданного тона, длительности и громкости
  • вывод всплывающего сообщения (оно же Toast, но во вселенной Tasker оно называется Flash)
  • трансформация текста в "морзянку" и ее воспроизведение
  • вывод сообщений, обыкновенных и всплывающих диалогов, включая диалог аутентификации по паролю, графическому ключу, отпечатку пальца или иной биометрической информации вывод меню и списков (в действительности, возможно построение произвольных графических пользовательских интерфейсов посредством сцен)
  • вывод уведомлений в панель уведомлений, в т.ч. сопровождаемых светодиодной подсветкой и/или звуковыми извещениями, вибрацией
  • отмена собственных уведомлений
  • синтез речи (в т.ч. запись в файл и синтез с помощью WaveNet) и его остановка
  • управление яркостью экрана, светодиодного индикатора, вспышки, подсветки кнопок
  • активирование вибрации, в т.ч. по заданному шаблону
Приложения:
  • получение информации об установленных приложениях и компонентах приложений: операциях (activities), службах (services), приемниках сообщений (receivers)
  • вставка события в календарь
  • включение/отключение доступа к камере
  • переход на домашний экран, в т.ч. с определенным номером
  • запуск приложений, в т.ч. выбора их активностей
  • принудительное завершение приложений
  • запуск последнего открытого приложения
  • запуск ярлыка приложения
  • открытие списка недавних приложений
  • получение информации о записях в календаре
  • переключение режима разделения экрана
Аудио:
  • регулировка громкости, в т.ч. отдельных потоков: звонка, разговора по телефону, в т.ч. через bluetooth-гарнитуру, сигнала тонального набора (DTMF), будильника, мелодий, уведомлений, системных оповещений
  • настройка рингтонов по умолчанию для звонков, будильника, уведомлений
  • управление беззвучным режимом и режимом "не беспокоить"
  • управление режимом звукового сопровождения нажатий на аппаратные и программные кнопки, режимом тактильной навигации (haptic feedback), звуковыми эффектами
  • управление встроенным микрофоном
  • переключение при разговоре голосового потока на внешний динамик и обратно
  • управление проигрыванием рингтонов и вибрацией при входящих звонках, возникающих уведомлениях
Сценарии:
  • запуск сценариев на shell, javascript, SL4A
  • использование конструкций языкa Java и вызов функций языка Java и Андроида (через механизм Java reflection)
  • выполнение команд ADB через интерфейс ADB WiFi (необходимо выдать разрешения)
Экран:
  • управление настройками экрана: размером, яркостью, в т.ч. режимом автоматической яркости, и ориентацией, в т.ч. автоматической ориентацией
  • управление режимом "в автомобиле"
  • управление Темным режимом (Android 8+)
  • управление длительностью периода бездействия до отключения экрана
  • управление панелью навигации и панелью состояния, включая отображение иконок в панели состояния
  • установка обоев на главном экране и/или экране блокировки
  • управление блокировкой экрана: включение и выключение блокировки, в т.ч. принудительное включение блокировки
  • управление "ночным" режимом (работает только с режимами "в автомобиле" и "док-станция")
  • управление режимом "постоянно включен": никогда, при зарядке от сети и/или USB, беспроводной станции
  • получение информации о характеристиках экрана: размеры экрана, его разрешение, текущая настройка автоматической ориентации
  • управление панелью уведомлений: показ панели и сворачивание
  • получение снимков экрана (скриншотов)
  • включение/выключение экрана
Операции с файловой системой:
  • операции с каталогами: копирование, создание, удаление, получение списка файлов
  • операции с файлами: копирование, удаление, перемещение, чтение, чтение построчно, запись проверка существования файла, чтение атрибутов файла: размера, прав доступа, времени модификации
  • архивирование в архивы zip и GNU zip (gzip), извлечение из архивов zip и gzip
  • шифрование и расшифровка
  • передача файлов в приложения или на устройства
  • открытие файлов
  • запуск встроенного файлового менеджера
  • [root] перемонтирование разделов на внутренней или внешней карте памяти
  • выполнение SQL запросов к .db файлам баз данных
Google Drive:
  • авторизация в сервисе Google Drive
  • загрузка, скачивание, удаление файлов и каталогов
  • получение списка файлов и каталогов
Изображения:
  • изменение размеров, обрезка, поворот, отражение, применение фильтров
Ввод:
  • вывод диалога аутентификации (пин-код, графический ключ либо биометрические данные)
  • эмуляция клавиши назад
  • закрытие системных диалогов
  • [root] эмуляция нажатий на кнопки в т.ч. и несуществующие на аппарате, например, эмуляция джойстика - "универсальная кувалда", которой делается практически все
  • распознавание голоса
  • диалог ввода данных
  • вызов диалога метода ввода
  • эмуляция клавиатуры (не нужен root)
  • вывод диалога со списком элементов
  • долгое нажатие на клавишу питания
  • замена кнопок наэкранной навигационной панели
  • вызов программной клавиатуры
  • вывод текстового диалога с кнопками (до трех)
  • [root] эмуляция ввода текста
Местоположение:
  • определение текущего местоположения (по GPS или по сотовым вышкам и точкам доступа WiFi)
  • остановка определения текущего местоположения
  • управление режимами определения местоположения
  • открытие Google Карт, в т.ч. в заданной точке, навигацией к заданной точке либо в режиме просмотра улиц
  • вывод карты для выбора местоположения
Медиа:
  • захват в исключительное использование некоторых аппаратных кнопок
  • управление музыкальным проигрывателем, в т.ч. встроенным
  • воспроизведение MIDI на подключенном устройстве через USB
  • проигрывание аудиофайлов, встроенных рингтонов в т.ч. с выбором звукового потока
  • запись аудио с выбором звукового потока (в т.ч. звонков)
  • получение информации об аудиофайлах: название, исполнитель, время воспроизведения, текущая проигрываемая позиция трека
  • принудительный запуск сканирования карты на медиа-файлы
  • фотосъемка
Сеть:
  • управление режимом "в самолете", в т.ч. выборочное отключение радиомодулей
  • управление режимом автосинхронизации
  • включение и выключение адаптеров Bluetooth, NFC, WIFI, WiMax, приемника GPS, сети мобильной связи, в т. ч. управление режимами передачи данных в сети мобильной связи, управление подключением к точке доступа WiFi
  • сопряжение, подключение, отключение устройств Bluetooth
  • установка имени устройства в сети bluetooth
  • получение информации о подключенных / находящихся рядом Bluetooth устройствах
  • загрузка ссылки в браузере
  • открытие диалога отправки Email
  • работа с web-серверами: получение и отправка содержимого, не обязательно в формате html
  • управление доступом к сети для приложений
  • чтение/запись данных на NFC-метку
  • проверка доступности узлов в локальных сетях и сети Интернет
  • получение информации о сетевом подключении (тип подключения, наличие доступа к мобильной передаче данных), о режиме автосинхронизации, о параметрах сетей WIFI (MAC-адрес адаптера, уровень сигнала, имя точки доступа) и Ethernet, о параметрах подключения через VPN, о подключенных и сопряженных устройствах Bluetooth
  • включение и выключение точки доступа WIFI, USB tethering
  • управление спящим режимом WIFI
Телефон:
  • переключение при разговоре голосового потока на bluetooth-гарнитуру и обратно
  • звонок на определённый номер
  • управление входящими/исходящими звонками на определенные номера: блокировка звонков и их переадресация
  • управление журналом вызовов (открытие, очистка полная/пропущенных/входящих/исходящих)
  • создание СМС и MMS
  • ответ на входящий звонок ("поднять трубку"), завершение вызова
  • открытие контакта во внешнем приложении (например, видеозвонок в WhatsApp или Skype, навигация по адресу в Google Картах)
  • открытие контактов (последние, избранные)
  • отправка СМС, включая нетекстовые СМС (Data SMS)
  • выбор приложения СМС по-умолчанию
  • получение информации о контактах в телефонной книге
Работа со сценами:
  • создание, открытие, скрытие, уничтожение сцен, элементов
  • получение информации о сценах, элементах
Настройки:
  • открытие различных окон и диалогов системного приложения "Настройки"
  • запуск окон с информацией о системе, информации о батарее и будильниках, а также других окон
Система:
  • запрос системных разрешений
  • добавление нового будильника, отмена будильника, выключение будильника
  • [root] управление процессором
  • управление режимами работы процессора
  • управление режимом энергосбережения
  • [root] экстренные перезагрузка и выключение аппарата
  • выполнение поиска (на устройстве, в Web)
  • отправка произвольного системного события - интента (intent)
  • получение информации от определенных сенсоров
  • выбор ассистента
  • добавление содержимого в буфер обмена
  • запуск системного секундомера
  • чтение и изменение системных настроек Андроида
Управление задачами:
  • операторы для организации управления в программах: создание и изменение переменных, массивов, оператор если-то-иначе, циклы, вызов подпрограмм (в действительности, даже сопрограмм), математические функции, поиск и замена по шаблону, в т.ч. с использованием регулярных выражений
Иное:
  • работа с базами данных и поставщиками контента (content providers): чтение, запись и удаление информации
  • получение идентификатора текущего пользователя, идентификатора Андроида (Android ID)
Оба этих списка далеко не полны. Во-первых, набор событий, состояний и действий Таскера может быть расширен за счет подключения сторонних плагинов, тысячи их. Во-вторых, используя эмуляцию аппаратных и программных клавиш или запуская скрипты на шелл и SL4A, можно выполнить практически любое действие. А кроме того, есть еще прием и посылка интентов. А если, вдобавок, научиться вызывать функции языка Java, можно получить абсолютную власть над своим аппаратом.
Также в Таскере можно:
- Создавать собственные ярлыки, в том числе динамические, и виджеты, в том числе в панели быстрых настроек (quick settings)
- Создавать собственный пользовательский интерфейс, используя сцены (краткое описание)
- Создавать собственные приложения
ЧАсто задаваемые ВОпросы (FAQ)
ˇˇ
1. Не могу обновить / установить Tasker, что мне делать?
- Вы пытаетесь обновить купленный непосредственно у разработчика вариант Таскера (Direct-Purchase version) на версию Tasker 5.2 или выше. Поскольку, начиная с версии 5.2, Tasker распространяется исключительно через магазин приложений Google Play, то такое обновление невозможно. Перед установкой удалите программу, предварительно сделав резервную копию своих профилей. Немного подробностей - в ответах на вопрос Tasker (Пост shahmatist2 #74473831) (два следующих сообщения).
Подробнее о различиях в вариантах и версиях программы - в разделе с информацией о версиях.
- Вы устанавливаете версию Tasker ниже 4.5, и у вас в прошивке отсутствует библиотека Google Maps Android API, т.е. файлы com.google.android.maps.jar и com.google.android.maps.xml. Их можно найти в данной теме, воспользовавшись поиском, либо поискать в прошивках для вашего устройства. Пара рецептов: Tasker (Пост пионер2010 #15274629) и Tasker (Пост coolkaas #19016305).
ˇˇ
1.1. На моем устройстве нет Google Play. У меня проблемы с покупками через Google Play. Как мне быть?
* Покупка платных программ в Google Play, Google Play - Технические проблемы.
* Если варианты выше не помогли, тогда только Direct-Purchase Version:
- Купить пакет лицензий (25+) непосредственно у разработчика.
- Поддержать автора на Patreon.
Подробная информация указана в Ordering / Validation FAQ и Patreon Notes.
ˇ
2. Как импортировать проект/профиль/задачу/сцену?
Для импортирования используется "долгий тап" на заголовках вкладок profiles, tasks, scenes, на заголовках вкладок проектов или на вкладке с иконкой "дом" (где находится все, что не является частью какого-либо проекта), пункт меню называется Import. Файлы для импорта имеют формат xml и расширения .prj.xml (проект), .prf.xml (профиль), tsk.xml (задача), .scn.tsk (сцена). Файл проекта уже содержит все профили, задачи и сцены проекта.
Помимо формата XML в Таскере существует формат Description, про него написано в ЧаВо 10.
ˇ
3. Для работы Tasker нужны рут-права (root)?
- Некоторые действия Tasker требуют рут-прав, часть профилей, выложенных здесь, в разделе МРП, требуют рут-прав.
- Часть действий (например, действие System Lock - заблокировать устройство) требуют, чтобы Tasker был установлен администратором устройства. Иногда (например, событие New Window), требуется, чтобы служба Tasker была включена в специальных возможностях. Также (например, для события Notification), бывает необходимо, чтобы для Tasker был разрешен доступ к уведомлениям сторонних приложений. Несколько примеров подобных специальных настроек Tasker (Пост just@man #50495922).
- Часть контекстов и действий требуют специaльных системных разрешений, которыe невозможно выдать через штатный интерфейс приложения "Настройки" Андроида. Например, действие Secure Setting требует разрешения WRITE_SECURE_SETTINGS (пример и объяснение), состояние Media Button - разрешения SET_MEDIA_KEY_LISTENER, событие Logcat Entry - разрешения READ_LOGS, событие Volume Long Press - разрешения SET_VOLUME_KEY_LONG_PRESS_LISTENER, а для проверки запущенных сервисов приложений контексту Application требуется разрешение DUMP.
- Действие ADB Wifi позволяет выполнить команды шелла в сессии Android Debug Bridge (adb). Слово "Wifi" к имени действия добавлено исключительно для придания магического блеска этому тривиальному хаку. Действие ADB Wifi полностью аналогично действию Run Shell, отличие лишь в том, что сам shell запускается в рамках adb-сессии, а не в рамках Таскера. Но, поскольку в adb-сессии операции проводятся от имени пользователя shell, то количество разрешенных операций выше по сравнению с действием Run Shell. Естественно, говорить о полной замене root-сессии и действия Run Shell с опцией Use Root не приходится. Чтобы действие ADB Wifi заработало, придется изрядно попотеть.
- Нежелающие потеть с выдачей разрешений могут воспользоваться ADB AppControl либо другой "нескучной обоиной©" поверх ADB.
- "Нескучная обоина" от разработчика https://github.com/joa…r-Permissions/releases.
ˇ
4. Половину функций, озвученных в данной теме, не могу найти в своей версии Tasker, многие функции выделены красным цветом (недоступны), что я делаю не так?
- Таскер манипулирует большим набором контекстов и действий, чтобы их как-то упорядочить и распределить, интерфейс использует иерархическую структуру, например, категория App, действие Go Home. Такая же иерархическая структура используется для контекстов типа состояние и событие. К счастью, помнить категории для действий и контекстов не обязательно, в интерфейсе предусмотрено поле Filter, существенно облегчающее поиск, см. Tasker (Пост sergr59 #40051612). Кроме того, в интерфейсе повсеместно используется долгий тап (и на самих элементах, и на закладках), а также перетаскивание с удержанием. Интерфейсу посвящен раздел Main Screen оф.руководства. В Таскерах < 5.6 по умолчанию был выставлен режим для начинающих (Beginner mode), в котором были недоступны некоторые возможности (элементы интерфейса), режим можно было отключить в настройках Таскера. (В версиях 5.6+ этот режим удален.)
- При обсуждении действий и контекстов в теме, обычно, используется английский интерфейс Таскера (см. Примечание к п.3 правил темы). Возможно, если переключить язык интерфейса в настройках Таскера, внезапно обнаружатся пропавшие функции.
- Большинство выделенных красным действий можно заменить плагинами, но, как правило, потребуется рут. Например, достаточно долгое время в Таскере было недоступно действие GPS, однако его можно было заменить действиями GPS Enabled/GPS Disabled плагина Secure Settings. (Сейчас в Таскере есть действие Location Mode, позволяющее косвенно управлять приемником GPS.) Необходимо понимать, что после установки плагина, действие не перестанет быть красным, однако в разделе плагинов появится действие с такой же функциональностью.
- Если у Вас нет рута, иногда можно решить проблему, выдав Таскеру специальное разрешение. Подробности изложены в ЧаВо 3.
- Некоторые действия или настройки системы можно установить с помощью действия Custom Setting (Tasker 5.2+)
- Кроме того, специально для любителей покопаться в кишках системы в теме обсуждаются всевозможные рецепты, позволяющие добиться желаемого без установки плагинов, через прямое обращение к функциям Андроида. (Загляните в раздел "Маленькие спортивные хитрости", МСХ, если интересуетесь подобными рецептами. Например, МСХ 10 - аналог действий GPS для Андроидов 4.0+ и Location Mode для Андроидов 5.0+, МСХ 12 - замена действия Mobile Data 2G/3G. А замена действия Mobile Data - МСХ 4 и Tasker (Пост Primorsky78 #37418838.)
Пожалуйста, не спрашивайте в теме, когда в Tasker вернут то или иное действие. Его не вернут никогда. Используйте плагины.
ˇ
5. Меня просят выложить Run Log и/или logcat, что это такое и как это получить?
См. маленькие спортивные хитрости, Тайны отладки.
ˇˇ
6. Возможно ли с помощью Tasker создать отдельное приложение, apk?
Да, возможно. Потребуется плагин Tasker App Factory. Инструкции находятся в разделе App Creation оф.руководства.
ˇ
7. У меня есть мега идея, но я не собираюсь изучать Tasker, зато готов заплатить за её воплощение +100500 гуглионов $, к кому мне обратиться?
Лучше обратиться в тему Стол Заказов. Прайс-лист темы Tasker находится тут в конце поста, пункт 3.
ˇ
8. Чем отличается Tasker от других подобных программ?
Обычно, задачи в Таскере решаются намного проще, чем в других программах. Это достигается за счет двух присущих только Таскеру понятий: состояние и действие-настройка. Без этих понятий большинство элементарных задач либо не имеют решения вообще, либо решение оказывается крайне сложным.
Например, рассмотрим простейшую задачу "Включить беззвучный режим ночью (на совещании)". Большинство программ-планировщиков предлагают следующее решение:
событие: наступила ночь (совещание) -> включить беззвучный режим
событие: наступило утро (совещание окончилось) -> выключить беззвучный режим
Стоп! А почему, собственно, "выключить"? А если пришлось включить беззвучный режим раньше и надо оставить аппарат в этом режиме, а? Понятно, что нужно восстановить предыдущее значение режима. К сожалению, подавляющее большинство других планировщиков не умеют этого делать. Таскер умеет. Вот профиль на Таскере:
состояние: Ночь (совещание)
задача: включить беззвучный режим
Все. Кажется, что профиль совсем неправильный? Где выключение режима? Его нет. Восстановлением режима займется сам Таскер: если при наступлении ночи (совещания) режим был беззвучный, Таскер его оставит беззвучным, если же звук был включен, Таскер выключит беззвучный режим.
Желающие могут попробовать сделать подобный профиль в другой программе. В принципе, профиль такого уровня еще можно реализовать на чем угодно, но придется попотеть.
Пример профиля, который реализовать вне Таскера практически невозможно - второй пример в сообщении.
Подробно о состояниях, суперпозиции состояний и действиях-настройках можно прочитать в Курсе молодого бойца.
Кроме того, Таскер позволяет осуществить практически любую идею, поскольку позволяет создавать собственный пользовательский интерфейс (сцены), позволяет общаться с Андроидом напрямую и на его собственном языке (действие Java Function). Правда, почти всегда для осуществления идей требуется еще и понимание устройства Андроида.
ˇˇ
9. Мне с помощью Tasker удалось решить задачу, которая может спасти нашу Галактику от гибели, как мне поделиться решением?
В настоящее время связь с межгалактическим конгрессом утеряна, но мы готовы поделиться вашим решением с человечеством! Для этого Вам необходимо:
- выложить свое решение под спойлер в формате Description Таскера (см. ЧаВо, вопрос 10).
- ответить на возникшие вопросы по профилю, исправить найденные ошибки
- выложить окончательное решение под спойлер в формате Description Таскера.
Также Вы можете дополнительно выложить копию решения и в формате xml и/или в картинках, если хотите. Также, дополнительно разрешается выкладывать ссылки на TaskerNet. Другими словами, формат - Description является обязательным, остальные форматы, включая формат xml, ссылки на TaskerNet, картинки - желательными.
С ноября 2021 появилась тема Рецептов. Там вы можете разместить конечный вариант своего решения.
ˇˇ
10. Что такое формат Description Таскера? Что нужно сделать, чтобы получить мои проекты, профили, задачи, сцены в этом формате? Что за код, который встречается почти в каждом сообщении этой темы?
Формат Description Таскера - это текст с описанием (description) программы на Таскере. Выглядит примерно вот так:
задача в формате Description Таскера
Battery Line Width (68)
A1: Test Element [ Scene Name:Battery Bar Element:Background Test:Element Size Store Result In:%size ]
A2: Variable Split [ Name:%size Splitter:x Delete Base:On ]
A3: Variable Set [ Name:%size To:%size1 / 100 * %BATT Do Maths:On Append:Off ]
A4: Element Position [ Scene Name:Battery Bar Element:Background Orientation:All X:0 Y:0 Animation Time (MS):100 ]
A5: Element Position [ Scene Name:Battery Bar Element:Line Orientation:All X:0 Y:0 Animation Time (MS):100 ]
A6: Element Size [ Scene Name:Battery Bar Element:Background Orientation:All Width:%size1 Height:3 Animation Time (MS):100 ]
A7: Element Size [ Scene Name:Battery Bar Element:Line Orientation:All Width:%size Height:2 Animation Time (MS):100 ]
A8: Perform Task [ Name:Battery Line Color Stop:Off Priority:5 Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: ]
Как получить свои наработки в этом формате, словами объясняется тут, а наглядно - тут.
Подробное объяснение в картинках Tasker (Пост sergr59 #47858893).
Пункт меню Data / Description / Write File создаст копию всех Ваших текущих наработок (профилей, задач, сцен) в формате Description в файле Tasker/datadescr.txt на sd-карте. Для Таскера версий < 4.x файл в формате Description создается автоматически при бэкапе и называется userbackup.xml.txt.
Импортировать формат Description в Таскер невозможно, его можно лишь создать руками, набрав профиль по описанию. Для полноценного импорта предназначен формат xml.
Если Вы хотите задать вопрос или поделиться своими наработками, то вместе с форматом Description рекомендуем также указать версию Андроида и наличие (отсутствие) root-прав.
ˇ
11. Правда, что в этой теме присутствуют телепаты, которые могут дать четкий ответ на не полностью сформулированный вопрос?
Нет! К сожалению два наших телепата исчезли бесследно, а третий ушел в отпуск, но до настоящего момента так и не вернулся (мы все таки надеемся, что он не пропал и обязательно известим всех когда он вернется)
Все наши телепаты нашлись и открыли свою тему! Все вопросы задаем там!
ˇ
12. Посмотрев на статистику использования памяти, я увидел, что Таскер занял 100/50/20 Мбайт оперативной памяти. Считаю, что это слишком много. Можно ли как-то урезать аппетиты Таскера?
- (краткий ответ) Можно. Выйдите из окна редактирования профилей.
- (развернутый ответ) Таскер состоит из двух неравных частей:
- собственно приложение Таскер, которое реализует функции редактирования профилей и их отладки, содержит меню настроек и встроенную справку и т. п.;
- сервис, следящий за контекстами и реализующий очередь выполнения задач и действий.
Первой части действительно требуется существенный объем оперативной памяти для работы. Однако, как только Вы закончите редактировать свои профили и выйдете из приложения, от Таскера останется только сервис, который обычно требует не очень много памяти. Точная цифра зависит от используемых Вами контекстов и действий, но редко превышает пару мегабайт. Максимальный якобы наблюдаемый объем - 10 Мбайт.
Кроме того, нужно отдавать себе отчет, что цифры, рисуемые Андроидом для первой части Таскера, показывают среднюю температуру по больнице, давление на Северном полюсе, но никак не реально занимаемый объем оперативной памяти. Для понимания, откуда берутся такие цифры, рекомендую внимательно прочесть две заметки Дианы Хакборн (Dianne Hackborn), известного в узких кругах разработчика Андроида (А какая фамилия, а? Никакого ника не надо): ответ на вопрос How to discover memory usage of my application in Android и Process Stats: Understanding How Your App Uses RAM
Поскольку Таскер всего лишь прослойка к функциям Андроида, то он разделяет память с Андроидом (из-за используемой в Андроиде метрики PSS для подсчета объема оперативной памяти), а поскольку Таскер - прослойка ко многим функциям, то и память разделяется практически со всем Андроидом. Отсюда и большие цифры для первой части Таскера: Андроид просто приписал половину объема занимаемой им памяти Таскеру.
В тот момент, когда от Таскера остается только сервис (а это большая часть времени), используются только необходимые профилям и задачам функции Андроида - объем используемой Таскером памяти якобы сокращается. Но мы-то понимаем, что в действительности ничего никуда не делось, просто Андроид перестал приписывать Таскеру свою память.
Из всего этого можно сделать следующий вывод: метрика PSS в случае Таскера не совсем корректна. Да, это так. Однако идеальной метрики не существует в принципе, а в случае подавляющего числа приложений использование метрики PSS - достаточно разумное решение.
ˇ
13. Посмотрев на статистику энергопотребления, я с удивлением обнаружил, что Таскер постоянно чем-то занят, он использует 90%/50%/10% процессорного времени/батареи. Считаю, что это слишком много. Можно ли как-то урезать аппетиты Таскера?
Можно, задумайтесь над тем, что именно делают Ваши профили.
Следует четко уяснить, Таскер сам по себе процессор не занимает, батарею не разряжает. Это все делают написанные пользователем профили. В официальном руководстве есть специальные разделы Power Usage и Location Without Tears (как удачно в свое время перевел v-oz, «позиционирование без геморроя»), посвященные методам по снижению энергопотребления. Если их внимательно почитать, станет ясно, что, например, контексты Orientation или Proximity или Location с GPS использовать поодиночке в профилях не стоит. Если Вам, конечно, дорога Ваша батарея. Нужно дополнительно задать контексты типа Time, Call, Variable Value и т. п.
Иногда пользователи после активных экспериментов с Таскером и долгой отладки задач забывают остановить задачи, запущенные вручную. В результате задача тихо крутится в цикле, а в переменной %TRUN ее нет (т. к. таким задачам зачастую ленятся давать имена). И обнаружить ее можно, только включив лог отладки в Таскере.
Отсюда совет: всегда останавливайте очередь выполнения задач после экспериментов.
ˇ
14. У меня Tasker не видит root, что делать?
Варианты решения: офф.FAQ, переводы Tasker (Пост Nukri #52499605) и Tasker (Пост axbat #52501154) (равноценные, читайте любой на выбор), практический рецепт.
ˇ
15. На моем Андроиде Tasker работает ненадежно: не активирует контексты, пропускает действия. Что делать?
- Варианты решения для Андроидов 5.0+ содержатся в оф.FAQ Why doesn't Tasker work in the background on my device?. Для Андроидов 5 - 7 актуален перевод старого содержимого раздела Android System Power Management оф.руководства. Некоторые производители баловались подобными вещами и ранее, например, Tasker (Пост sergr59 #38359613). Пользователям MIUI придется повозиться еще больше, например Tasker (Пост earth77 #55617867) (проблемы современных версий MIUI изложены в оф.FAQ). Если Вы считаете, что зачитали оф.FAQ до дыр, значит Вам нужно прочитать его еще раз.
- Требуется включить сервисы местоположения, см. Tasker (Пост Demon72 #59472287):
+ для корректной работы контекста WIFI Near и переменной %WIFII (при отсутствии подключения к точке доступа WIFI) на Андроидах 6.0+;
+ для корректной работы контекста WIFI Connected с заданным SSID или MAC и переменной %WIFII (при наличии подключения к точке доступа WIFI) на Андроидах 9.0+ (а для некоторых аппаратов - начиная с Андроида 8.1);
+ для корректной работы контекста Cell Near и переменной %CELLID на Андроидах 8.0+.
Замечание: Таскер должен иметь также права на доступ к местополжению, а на Андроидах 10+ этот доступ должен быть предоставлен постоянно.
- Если в профилях используются плагины, все рекомендованное выше, требуется применить и к плагинам тоже.
ˇ
16. Из-за Таскера в строке состояния (и на экране блокировки) появляется иконка будильника. Зачем она нужна? Можно ли ее убрать?
Это требуется для корректной работы контекста Time и действия Wait (см. ЧаВо 15). Появление иконки будильника определяется опцией Use Reliable Alarms (которая, начиная с Таскера 5.7, к тому же имеет значение Always по умолчанию). Отключить иконки в строке состояния можно действием Status Bar Icons. Не рекомендуется изменять значение опции Use Reliable Alarms, даже если Вам кажется, что Вам она не нужна. Поверьте, Таскер знает лучше Вас, нужна она Вам или нет. Подробности про опцию - Tasker (Пост username11 #85007795).
ˇ
17. Не могу переключить состояние WiFi, изменить размер экрана (действие Display Size).
Google изменил способ работы Android для приложений, ориентированных на API 29, поэтому Tasker начиная с версии 5.11 не может переключать WiFi. Подробнее
Эта проблема решается установкой приложения-компаньона Tasker Settings из этого поста или отсюда. Актуальную версию можно скачать из репозитория разработчика.
Обязательно исключить приложение Tasker Settings из оптимизаторов батареи (ЧаВо вопрос 15 относительно этого приложения).
Автор не может загрузить это приложение в Google Play т.к. оно ориентировано на API 21 (поэтому переключение WiFi все еще работает с ним) и Google допускает приложения только ориентированных на API 29 и выше
ˇ
18. Возможна ли интеграция AutoVoice с Google Assistant?
Да, но с некоторыми ограничениями. Загляните в официальный FAQ. На заблокированном экране работать не будет из-за ограничений Android. Ответ разработчика
ˇ
19. Что значит звездочка в названии профиля и почему курсивом? Почему Tasker предлагает задать имя профиля/задачи? Почему я не могу оставить их анонимными?
Звездочкой и курсивным шрифтом отображаются анонимные (неименованные) профили. О преимуществах именования задач хорошо описано здесь: Tasker (Пост dimkin74 #120352362). То же самое тождественно и для именования профилей.
ˇ
20. Почему Tasker на Android 13+ каждый раз запрашивает разрешение на чтение системных логов? Добавление разрешения READ_LOGS не помогает.
Коротко: гугл затягивает гайки.
Подробнее читать здесь: Tasker (Пост F1118 #116814062)
Местные курсы
ˇ
1. Курс молодого бойца (для новичков)
Краткое содержание:
- основные понятия Таскера: действие, задача, контекст, профиль;
- чем отличается контекст-состояние от контекста-события;
- что такое действие-настройка;
- несколько контекстов в одном профиле;
- входная и выходная задачи профиля.

2. Tasker: практическое руководство
Краткое содержание:
- простые профили;
- переменные;
- сравнение по шаблону;
- математические действия;
- циклы;
- массивы переменных.

3. Основы сценического мастерства
Краткое содержание:
- что такое сцена;
- создаем сцену;
- как согласовать дизайн сцены с интерфейсом Android.


Сообщение отредактировал R3m - 19.07.23, 13:07
Причина редактирования: обновлен ЧаВо 1.1.



Реп: (1136)
Местная библиотека, коллекция видеоуроков
ˇ
Почитать:
- уроки Tasker на androiddp1
- основные понятия Tasker от 3dnews.ru (спасибо VityaPda)
- уроки-примеры от fans-android.com
- познавательные статьи от v-oz (рекомендуется почитать и другие статьи в блоге)
- частная библиотека с эксклюзивными "рукописями", собранными местным искусствоведом slax

Посмотреть:
- канал "ПРО Tasker" (автор e8genius)
- плейлист "Tasker" от androidp1
- канал "Tasker на русском языке"

Readings (in English):
- Официальные ресурсы: Руководство (в частности, системные переменные Tasker), FAQ, Wiki, Форум, Tasker Feature Requests / Bug Reports.
- Записи в блоге Benjamin Linnik про Tasker (спасибо roman.kaskad)
- "Живые" примеры от pocketables.com (встречаются статьи не связанные с tasker, кто то накосячил с тегами). В частности, серия статей Beginner’s guide to Tasker (спасибо VityaPda)
- Tasker Tutorials By Ryoen (Google+) Tasker Tutorials By Ryoen Deprouw
- Tasker on Reddit (присутствует разработчик)
- Неделя Tasker на xda-developers
- Tasker Resources на сайте IzzyOnDroid. Коллекция учебников по Tasker.
- Вопросы с тэгом tasker на Android Enthusiasts Stack Exchange. И этим все сказано.

Watching:
- Видео уроки от Ryoen Deprouw
- Видео уроки от Armando Ferreira
- Видео уроки от hollywoodfrodo
- Видео от pocketables.com
- Канал João Dias в YouTube. Автор размещает ключевые особенности новых версий и много интересного
- канал AutoApps. Второй канал от разработчика, где рассматриваются новые особенности как в Auto-плагинах и Join, так и в Tasker
- для ленивых гуглить в youtube ;)
Краткий англо-русский словарик темы
task - задача
action - действие
setting - действие-настройка (используется крайне редко, а сам русскоязычный термин не совсем удачный)
context - контекст
state - состояние, подразумевается контекст, т.е. state context - [контекст] состояние
event - событие, то же самое замечание, что и для state
profile - профиль (если профиль содержит ровно один контекст, то иногда термин "профиль" может означать контекст и наоборот. И к русскому языку это никакого отношения не имеет.)
project - проект, набор профилей, сгруппированных вместе
scene - сцена
scene element - элемент сцены
description - здесь, в этой теме, формат Description Таскера (см. ЧаВо, вопрос 10)
kid app - приложение, созданное из профиля (проекта) с помощью плагина Tasker App Factory (см. ЧаВо, вопрос 6)
JS - действия JavaScript, JavaScriptlet, а также язык JavaScript в целом
JF - действия Java Function, Java Object, а также язык Java и Android API в целом
Разное


Сообщение отредактировал R3m - 04.01.22, 02:07
Причина редактирования: библиотека, словарик, разное



Реп: (1136)
МСХ - маленькие спортивные хитрости
ˇˇ
1. Тайны отладки.
ˇ
2. Перехват и эмуляция аппаратных клавиш, элементов пользовательского интерфейса:
Для эмуляции аппаратных клавиш и элементов пользовательского интерфейса в Таскере предусмотрены действия Button, Dpad, Type, контексты Assistance Request, Button Widget Clicked, Button:Camera, Button: Long Search и др. Их функционал ограничен, существенно более продвинутые функции доступны в плагинах AutoInput и AutoNotification. С помощью этих плагинов возможно проэмулировать практически любое действие пользовательского интерфейса и перехватить практически любое его событие. Тем не менее, встречаются случаи, когда плагины бессильны, а во многих простых ситуациях плагины избыточны. В этой маленькой спортивной хитрости изложены альтернативные плагинам рецепты.
- методика эмуляции аппаратных клавиш через sendevent Tasker (Пост v-oz #12681202)
- методика перехвата аппаратных клавиш через getevent Tasker (Пост coolkaas #23702923)
- альтернативное решение для перехвата - модуль xposed additions pro
- методика эмуляции нажатий на экран через input tap Tasker (Пост gmorgen #33262026); с картинками - Tasker (Пост sergr59 #45647656)
- коды кнопок (из core/java/android/view/KeyEvent.java) для input keyevent Tasker (Пост username11 #21526131)
ˇ
3. Ловим события в системном логе (logcat), применяя идеи МСХ 2 (чтобы эти рецепты заработали на Вашем аппарате, их требуется слегка доработать, уловив основную идею):
- собеседник поднял трубку (ответил на исходящий) Tasker (Пост dnsis #25551292)
- подсистема text-to-speech (tts) Андроида начала работать Tasker (Пост myxa781 #24101465) и Tasker (Пост myxa781 #24224417)
Использовать shell-скрипт из МСХ 2 не обязательно, в Таскере есть контекст-событие Logcat Entry. Однако, суть данной хитрости от этого не меняется.
ˇ
4. Немного информации о встроенной в Андроид утилите svc Tasker (Пост slax #53419279).
ˇ
5. Дочерняя тема от coolkaas Скрипты на shell под Android, выросшая из МСХ 2. В теме обсуждается программирование на шелле (действие Run Shell Таскера). Краткий справочник по командам: Официальное руководство BusyBox (описание), вот один из примеров применения.
ˇˇ
6. Отложенный запуск
Иногда требуется запустить задачу не в момент активации контекста, а немного позже. Для этого используется метод отложенного запуска: первым действием задачи ставим действие Wait, за которым следует действие Stop If с проверкой того, что условие запуска задачи все еще выполняется. Обычно, это проверка активности профиля, но встречаются и другие варианты.
profile "Имя профиля"
context …
task
Wait время
Stop If условие запуска
Конечно, метод отложенного запуска можно использовать и для выходных задач.
Примеры использования метода: Tasker (Пост kefirux #23641303) и Tasker (Пост kefirux #23646121) и Tasker (Пост kefirux #23660085). Кроме того, профилям, использующим данный метод, посвящен простой МРП 10.
Действие Stop с проверкой активности профиля делается так
Stop If %PACTIVE ~ *,Имя профиля,*

Обратите внимание на запятые, типичная ошибка новичка - забыть о них при проверке переменной %PACTIVE.
ˇ
7. Объединение контекстов по ИЛИ
Существуют три основных метода. В первом и самом простом используется свойство независимости задач от контекстов - задачу можно привязать к нескольким контекстам одновременно (это свойство Таскера подробно рассмотрено в "Курсе молодого бойца")
profile "Профиль1"
context state контекст А
task "Задача"

profile "Профиль2"
context state контекст B
task "Задача"

Недостатки этого метода:
- задача будет запускаться при активации каждого профиля;
- выходная задача, если она нужна, тоже будет запускаться при деактивации каждого профиля.
В целом, это, конечно, совсем не объединение контекстов по ИЛИ или ну очень частный случай такого объединения. Зато прекрасно работает в простейших ситуациях без заумных наворотов.
Второй метод основан на использовании состояния Profile Active (профиль активен). В параметре Name (имя проверяемого контекстом профиля) действуют сравнения по шаблону Таскера (Pattern Matching). Используя простое сравнение по шаблону (simple matching), получаем:
profile "ЭтоПрофиль1"
context state контекст А
task
Stop

profile "ЭтоПрофиль2"
context state контекст B
task
Stop

profile "Профиль1 или Профиль2"
context state Profile Active [ Name:ЭтоПрофиль1/ЭтоПрофиль2 ]
enter task "Задача"
exit task "Выходная задача"
В действительности, если правильно назвать профили, можно использовать и такой шаблон:
profile "Профиль1 или Профиль2"
context state Profile Active [ Name:ЭтоПрофиль* ]
enter task "Задача"
exit task "Выходная задача"
то есть контекст теперь проверяет, активен ли какой-нибудь профиль, начинающийся со слова "ЭтоПрофиль", в такой шаблон попадут оба профиля "ЭтоПрофиль1" и "ЭтоПрофиль2". Конечно, иных профилей с префиксом "ЭтоПрофиль" у вас быть не должно.
Можно также воспользоваться проверкой системной переменной %PACTIVE:
profile "Профиль1 или Профиль2"
context state Variable Value %PACTIVE ~ *,ЭтоПрофиль1,*/*,ЭтоПрофиль2,*
enter task "Задача"
exit task "Выходная задача"
или даже так:
profile "Профиль1 или Профиль2"
context state Variable Value %PACTIVE ~ *,ЭтоПрофиль*,*
enter task "Задача"
exit task "Выходная задача"
Данный метод наиболее точно объединяет контексты по ИЛИ. Заметьте, что выходная задача запустится, когда оба профиля деактивируются, что нам и требуется. (Действительно, выходная задача должна запускаться при деактивации контекста, т.е. когда верно отрицание условия активации: НЕ (Профиль1 ИЛИ Профиль2). Воспользовавшись известной формулой булевой алгебры
НЕ (Профиль1 ИЛИ Профиль2) <=> (НЕ Профиль1) И (НЕ Профиль2)

получим условие деактивации профиля "Профиль1 или Профиль2" в правой части формулы.)
А применив отрицание к этой формуле, получим идею, лежащую в основе третьего метода
Профиль1 ИЛИ Профиль2 <=> НЕ (НЕ (Профиль1 ИЛИ Профиль2) ) <=> НЕ ( (НЕ Профиль1) И (НЕ Профиль2) )

В правой части мы видим стандартное объединение профилей по И. Чтобы получить те «НЕ», что внутри скобок, нужно задать отрицание для контекстов в профиле, у большинства контекстов Таскера для этого есть флаг Invert. Чтобы получить «НЕ» перед скобкой, необходимо сделать задачу выходной для профиля.
profile "Профиль1 или Профиль2"
context state Not контекст А
context state Not контекст B
exit task "Задача"
enter task "Выходная задача"

Недостатки этого метода:
- метод сложен, чтобы в него въехать, придется потрудиться
- настройки, изменяемые действиями-настройками в задаче "Задача", не сохраняются, поскольку задача является выходной
- по этой же причине настройки, изменяемые действиями-настройками в задаче "Выходная задача", восстанавливаются в задаче "Задача"
ˇ
8. Корректное завершение работы (отключение питания, перезагрузка)
- Все Андроиды: Tasker (Пост myxa781 #30556899)
- Андроиды 4.3+: МСХ 4
ˇ
9. Cекреты %evtprm - Tasker (Пост Nukri #33317770)
Способ логирования новых окон с применением %evtprm - Tasker
Подробный разбор от slax - Tasker (Пост slax #115068772)
ˇ
10. Управление настройками местоположения (GPS / сеть):
Для управлениями настройками местоположения в Таскере есть действие Location Mode, однако, оно предполагает, что настройки местоположения являются стандартными, для некоторых прошивок это не верно. Кроме того, данное действие доступно лишь для Андроидов 5.0+. В этой маленькой спортивной хитрости раскрывается внутренняя механика системных настроек местоположения.
- управление через интерфейс стандартного системного виджета Tasker (Пост ivanius-1976 #16390085)
- изменение настроек местоположения в поставщике контента (провайдере) settings Tasker (Пост slax #64882379) (внутренняя механика действия Custom Setting).
ˇ
11. Разбор (парсинг, parsing) текстовых данных, например, html-страниц.
- Основным инструментом для разбора текстовых данных является действие Variable Search Replace. Как следует из названия, оно позволяет искать по заданному шаблону в строке, а также заменять или извлекать части строки. Действие существенно опирается на понятие "регулярное выражение" (regular expression, regexp): раздел оф. руководства, раздел из Android API Reference, онлайн-тестер регулярных выражений. Примеры использования - простой МРП 27, сложные МРП 11 и 16.
- Поскольку разбор html-страниц регулярными выражениями - это путь Ктулху, рекомендуется использовать инструменты разбора, доступные в JavaScript и Андроиде (через JS и JF Таскера). Наглядные примеры на JS: Tasker (Пост Graymax #43424823), Tasker (Пост BanHammer[YKT] #38500217). Урок Parsing XML Data из Training Guides for Android developers.
ˇ
12. Механика service call в примерах
- переключение режимов сети 2G/3G/LTE (вызываем метод ITelephony.setPreferredNetworkType сервиса phone) Tasker (Пост Partyzzan #45844577), для Android 11+ Tasker (Пост slax #124650943)
- переключение аппаратного наложения, hardware composer (вызываем скрытый метод сервиса SurfaceFlinger, подробности - метод onTransact класса BnSurfaceComposer) Tasker (Пост Alexey711 #42782503)
- управление точкой доступа WIFI (tethering) на Андроиде 7+ - Tasker (Пост slax #62396787) и Tasker (Пост slax #66660280)
Способ получения информации о методах сервисов через интерфейс Java Таскера - Tasker (Пост slax #48226914)
ˇ
13. Работа с базами данных на примере базы данных СМС.
Общее замечание. С базами данных, точнее, с поставщиками контента (content providers) работают через встроенную в Андроид утилиту content (доступна для Андроида 4.1+). При этом надо знать адрес (authority) поставщика и структуру его базы данных. Если утилиты content в вашем Андроиде нет, или если надо предварительно понять структуру базы, используйте sqlite-шелл. Учтите, однако, что работа с базой на запись, минуя поставщика, может привести к ее разрушению. Везде ниже, кроме специально оговоренных случаев, подразумевается действие Run Shell Таскера. Предварительно, конечно, необходимо отладить работу с базой в командной строке. В принципе, для работы с базами данных и поставщиками контента в Таскере есть действие SQL Query, вот только использовать его, не зная структуры базы (поставщика), практически невозможно.
- используя утилиту content, пометить все СМС прочитанными, неотвеченные вызовы - просмотренными Tasker (Пост gavrila #44070856)
- используя sqlite-шелл, пометить все СМС прочитанными Tasker (Пост gavrila #43833031)
- удаление через sqlite-шелл СМС от определенного номера Tasker (Пост Havl #18737162)
- скрипты на SL4A python (действие Run SL4A Script Таскера): один помечает все СМС как прочитанные, другой удаляет отправленные на определенный номер СМС Tasker (Пост Havl #18852990)
Наконец, действия для работы с базой данных СМС существуют в плагине Tasker Utils (удален из Google Play, в теме отсутствует), пример профиля, удаляющего СМС определенного содержания от определенного номера Tasker (Пост brisker #42600445)
ˇ
14. Управление Accessibility Service для приложений.
- пример переключения настройки для Tasker Tasker (Пост R3m #110493840)
- дополнение Tasker (Пост Cross_man #110495289)


Сообщение отредактировал R3m - 27.08.23, 16:45
Причина редактирования: обновление МСХ 12



Реп: (33)
Попробовал перескочить с Locale.

Все довольно мощно (на офсайте кое-что разжевано подробно), многое настраивается, например, на мотомайлстоне громкость нотификаций и сигнала SMS одинаковая всегда.
А мне надо было сделать нотификацию тихо, а SMS - громко. Удалось с помощью Таскера.

Однако есть минусы (может я просто еще не разобрался):
1. Не работает со встроенными волпейперами (только картинки с файловой системы, я че-то не нашел где дефолтные волпейперы на майлстоне лежат). Locale, наоборот, работает только со встроенными :)
2. Не работает возврат к предыдущим настройкам при окончании срока действия профиля, хотя заявлен как фича. Приходится пользовать ExitTask
Пример:
Задача: сделать нотификацию тихо, а SMS - громко.
Ставлю звук нотификации тихим.
Делаю правило, чтобы при приходе SMS звук нотификации делался громким
Проверяю
При приходе SMS звук реально стал громче, но таким и остался, теперь и нотификации громкие :( А я ожидал, что вернется на прежний уровень...

2.1 В продолжение п. 2 - не ко всем профилям можно прикрутить ExitTask :( Мне удалось только к одному, первому по счету.

Сообщение отредактировал brake - 10.06.10, 10:24
Причина редактирования: добавил пример



Реп: (44)
brake @ 10.6.10, 10:11 *
не ко всем профилям можно прикрутить ExitTask Мне удалось только к одному, первому по счету.

Долгое нажатие на действии -> Add Exit Task
Добавляется без проблем.
И там ещё много неявных действий - например я вот вчера разобрался как сделать на экран кнопку, по нажатию на которую выскакивает диалог - сделал себе переключение в одно нажатие громко/вибро/самолёт + все сопутствующие настройки. :)

Сейчас разбираюсь с повторениями - пытаюсь сделать, чтобы при пропущенном звонке/смс, раз в N минут играла мелодию и вибрировала. :)

Сообщение отредактировал Nomad14 - 10.06.10, 10:54



Реп: (1136)
Архив шапки от 06.11.2021
Tasker
версия: 5.14.6

Последнее обновление программы в шапке: 28.10.2021

[attachment="7846268:tasker_banner.jpg"]


Скриншоты
[attachment="10996146:profiles_tab.png"][attachment="10996153:task_edit1.png"][attachment="10996154:task_edit2.png"]
[attachment="10996158:var_tab.png"]
Галереи скриншотов:
- Tasker 5.9 Tasker (Пост just@man #92498338)
- Tasker 5.0 Tasker (Пост washerron #68839498)
Скриншоты версий 4.x и 1.x находятся в старой шапке

Краткое описание:
Выполнение действий по событиям.
Описание:
Продвинутый планировщик. Позволяет по разным событиям производить собственные действия.
Похож на Locale , Llama , Automagic , AutomateIt , MacroDroid , E-Robot , Automate — automatic tasks , EasyProfiles , Dessin , Atooma , Swip только намного более мощный. Есть возможность создавать виджеты с произвольным списком действий.
Альтернативное описание:
Проблемно-ориентированный язык сценариев, позволяющий программировать в Андроид без знания каких-либо языков программирования и без навыков программирования вообще.

Домашняя страница: https://tasker.joaoapps.com/
Google Play: https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm

Скачать:
Версия: 5.14.6 Tasker (Ramil_)
Версия: 5.13.7 (build 5288) Paid (Valikovrepikov)
Версия: 5.13.7 Tasker (Ramil_)
Версия: 5.13.6 Tasker (Ramil_)
Версия: 5.13.5 Tasker (Ramil_)

Beta-версии:
Версия: 5.12.24 Paid Unlocked by LBO (Valikovrepikov)

Официальная история изменений
информация о версиях
ˇ
Существует 3 официальных стабильных версии Tasker:
- версия для Андроидов ≥ 5.0
- версия для Андроидов 4.x
- версия для Андроидов < 4.0 (т.е. Андроидов 2.3 и ниже, для ясности будем считать, что Андроидов 3.x уже ни у кого не осталось).
Развивается лишь версия для Андроидов ≥ 5.0, остальные заморожены. Выложенный apk - стандартная версия из магазина Google Play, использует технологию Google Play Licensing для проверки лицензии (начиная с версии Tasker 5.2).
Если у Вас возникают проблемы с лицензией, можете а) просто купить Tasker и забыть о них; б) использовать версию 5.2.bf2 из раздела "Прошлые версии".
Ломать Tasker не рекомендуется, возможностей в нем много, все проверить невозможно, поэтому Вы никогда не будете знать, работает взломанная версия или нет. В теме накоплен большой опыт работы со взломанными версиями, он очень отрицательный.
В имени версии после номера может присутствовать суффикс .bf с цифрами, например, версия 5.2.bf1. bf означает bugfix, т.е. обновление стабильной официальной версии, в котором нет ничего нового, лишь исправлены ошибки. Суффикс .bf и номер после него считаются частью номера версии.
Никаких "модов" / "русиков" для программы не существует. Tasker не требует ни того, ни другого.
Помимо стабильных версий Tasker существуют бета-версии, их можно установить из магазина Google Play, подписавшись на программу бета-тестирования Android App testing - Google Play Beta testing на странице программы Tasker в Google Play. Бета-версии имеют суффикс b после номера, например, 5.1b. Ссылки на бета-версии в шапке темы не публикуются. Сами бета-версии в этой теме не обсуждаются, их поддержкой и ответами-советами занимается непосредственно разработчик. В данной теме разработчик программы Tasker не появляется, поэтому со всеми вопросами по бета-версиям обращайтесь к разработчику через официальные каналы, например, на официальный форум Tasker.
До версии Tasker 5.1 включительно (включая и версии для Андроидов < 5.0) одновременно выпускались два варианта программы: вариант для Google Play (имел суффикс m после номера версии, например, 5.1m) и непосредственно купленный у разработчика вариант программы (Direct-Purchase version), который не имел суффикса m.
Вариант без суффикса m также являлся официальным, обладал тем же самым функционалом, что и вариант для Google Play, но дополнительно поддерживал функции шифрования. Вариант без суффикса m - не ломаный, не привязанный к Google Play, имеющий встроенные функции проверки лицензии. (Возможный метод "получения" регистрации. Если вылетает при попытке ввести код, пробуем эту версию).
Также до версии Tasker 5.1 включительно (включая и версии для Андроидов < 5.0) после номера версии мог присутствовать суффикс u - update, полный аналог суффикса .bf для текущих версий, т.е. обновление стабильной официальной версии, в котором нет ничего нового, лишь исправлены ошибки. Буква u и номер после нее считаются частью номера версии. Например, версия 4.3u4m - стабильная версия для Google Play, по сравнению с 4.3m ничего нового в ней нет, однако, исправлены ошибки; версия 4.3u4 - непосредственно купленный у разработчика вариант версии 4.3u4.
Скачать версию для Андроидов 4.x
версии 4.9u4, 4.9u4m Tasker (Пост Alex0047 #57263470)
Официальная история изменений
плагин App Factory версия для Tasker 4.9u4
Скачать версию для Андроидов < 4.0
версия: 1.6u2m (вариант для Google Market, не ломаный)
[attachment="7834941:Tasker_1.6u2m.apk"]
версия: 1.6u2 (вариант, непосредственно купленный у разработчика, с поддержкой шифрования)
[attachment="7834942:Tasker.1.6u2.apk"]
Возможный метод "получения" регистрации для последнего варианта программы. Если вылетает при попытке ввести код, пробуем эту версию).

Доступен неофициальный перевод на русский для версий 1.6u2m, 1.6u2 Tasker (Пост Барабан #38518964) (в программе присутствует сильно устаревшая русская локализация, см. примечание к п.3 правил темы ниже).



ВНИМАНИЕ!!! Правила темы. Рекомендуется внимательно прочитать.
1. Даже для реализации простейших задач желательно обладать хотя бы начальными навыками и понятиями, связанными с программированием (пусть даже очень поверхностными, на школьном уровне).
Замечание: Но если не обладаете, но очень хочется реализовать что-нибудь, можно и не обладать. Даже начальными. Совсем.
Важное замечание: Предпочтительнее использовать английскую локализацию в Tasker (т.е англоязычный Tasker), русская локализация местами может вас запутать, повести по ложному пути, заставить рвать волосы там где они у вас еще есть и т.д. Пример "русской" локализации.
2. Новичкам рекомендуется начинать с местных курсов, местных готовых решений, не вредно заглянуть и в местную библиотеку.
3. Задав вопрос и получив "невнятный", как вам кажется, ответ, прочтите его еще раз. Данная тема - это вполне самодостаточный и своеобразный организм. Как правило, в каждом ответе содержатся слова-"якоря", зацепив которые в "поиск", Вы найдете достаточное количество ответов, а иногда и 100% готовые решения.
Заметка - краткое практическое руководство по поиску в теме по словам-якорям: "как и что искать в теме".
4. Четко сформулированный вопрос со всеми-всеми-всеми нюансами увеличивает шансы оперативно получить ответ. Информация никогда не бывает лишней.
Замечания:
- Сообщение из одного предложения расценивается завсегдатаями, как приглашение поговорить о погоде. А поскольку здесь это - отклонение от темы, в ответ вы, вероятней всего, получите предложение ознакомиться с данными правилами.
- Сообщение из одной фразы "пробовал, не получилось", означает, что пробовали с вынутой из аппарата батарейкой, экран был черным, ничего не получилось.
- Информацию, которая может быть предоставлена в текстовом виде, рекомендуется в таком виде и предоставлять (спрятав, как правило, в тэг CODE). Как правило, к такой информации относится Run Log, logcat и логи ошибок. Скриншоты обычно игнорируются опытными пользователями Tasker, в виду неудобства извлечения из них информации, и порой, недостаточной информативности. Берегите свое и чужое время.
5. Если у вас не получается самому написать профиль, и вы хотите обратиться в тему за помощью, то:
- максимально подробно опишите задачу, которую Вы хотите решить, и свою проблему, т.е. что именно не получается. У разных людей не получается по-разному, знаете ли.
- обязательно выложите то, что уже получилось, в формате Description Таскера (см. ЧаВо, вопрос 10).
Примечание: Это "то" не обязательно должно иметь хоть какое-то отношение к вопросу. Мы должны знать, как минимум, степень вашего знакомства с Таскером и уровень ваших навыков в программировании. В противном случае рискуете получить ответ, который не сумеете понять. Да, если совсем ничего пока не получилось, значит и профиль вы написать не хотите. Если немного подумаете, то согласитесь с последним утверждением.
Примечание: Прочтите обсуждение хотелка, ответ, уточнение, оно показывает, насколько важно расписывать свои хотелки подробно.
6. Если вы хотите поделиться своим решением, оформите его в соответствии с ЧаВо, вопрос 9.

Замечание: Данная тема не является строго модерируемой, сообщения, нарушающие правила не будут незамедлительно удаляться. Однако, известно, что некоторые участники темы игнорируют сообщения с нарушениями, поэтому Вы рискуете не получить ответ на свой насущный вопрос или получить неполный ответ на него. И еще неизвестно, что хуже.
Возможности
Список основных событий и состояний
Приложения:
  • запуск и завершение работы приложения, включая отслеживание активности сервисов приложений
  • запуск выбранной операции (activity) приложения (долгий тап на имени приложения в списке выбора приложений для контекста Application)

Дата/время:
  • наступление определенного времени и/или даты, а также дня, недели, месяца, дня месяца или недели, последнего дня месяца
  • наступление и окончание определенного периода времени

События:
Приложения:
  • смена приложения

Дата/время:
  • изменение системной даты, времени, часового пояса
  • наступление и окончание события в будильнике, изменение будильника

Экран:
  • включение и выключение экрана, разблокирование экрана

Файловая система:
  • файл открыт, изменен, закрыт, перемещен, удален, изменены его атрибуты

Аппаратура:
  • нажатие некоторых аппаратных клавиш, в том числе расположенных на наушниках (проводных или беспроводных)
  • долгое нажатие клавиш громкости
  • подключение, отключение и извлечение SD карты

Медиа:
  • смена музыкального трека

Сеть:
  • обнаружение, подключение и отключение устройств Bluetooth
  • обнаружение NFC-метки

Телефон:
  • входящий или исходящий звонок, ответ на входящий, завершение разговора
  • получение СМС (MMS), включая нетекстовые СМС (Data SMS)
  • успешная отправка СМС (MMS) и ошибка при его отправке
  • пропущенный звонок

Питание:
  • изменение уровня заряда батареи, достижение полного заряда батареи, перегрев батареи

Сенсоры:
  • события от различных встроенных датчиков (освещенности, приближения к объекту, ориентации, перемещения, магнитного поля, атмосферного давления, температуры, влажности, пульса, шагомера)
  • пространственное перемещение аппарата заданным определенным образом - жест
  • встряхивание аппарата
  • возникновение значительного движения (ходьба, езда на велосипеде, движение в машине)
  • пройдено заданное количество шагов

Система:
  • изменение настроек в поставщике системных настроек (the settings provider)
  • окончание загрузки Андроида и начало выключения аппарата
  • достижение малого количества свободной памяти устройства
  • наступление определенного системного события в Андроиде - прием интента (intent)
  • смена системной локали
  • получение записи в системном журнале (logcat)
  • добавление, обновление и удаление приложения
  • нажатие иконки в быстрых настройках
  • смена обоев рабочего стола

Внутренние события Tasker:
  • старт сервиса монитора
  • запуск второго ярлыка (Secondary App Opened)
  • изменение таймера в виджете задачи

Интерфейс:
  • запрос пользователем помощи в приложении или в системе
  • нажатие кнопки виджета
  • возникновение определенного или любого окна (обыкновенного, всплывающего, диалогового)
  • появление и удаление уведомления от приложения в системной панели уведомлений, выбор пользователем такого уведомления

Переменные:
  • переменная установлена/очищена

Вход в географическую зону (определяемую с помощью GPS или по сотовым вышкам и точкам доступа WIFI) и выход из нее

Состояния:

Приложения:
  • наступление и окончание события в календаре
  • непрочитанное СМС (MMS)

Экран:
  • изменение ориентации экрана
  • состояние экрана (включен/отключен)
  • включение и выключение заставки экрана (Android Daydream)
  • включение и выключение темного режима (Android 10+ и некоторые устройства на Android 9)

Аппаратура:
  • подключение к автомобильной или настольной док-станции
  • подключение и отключение проводных или беспроводных наушников
  • подключение к HDMI
  • аппаратная клавиатура (открыта-выдвинута/закрыта-задвинута)
  • отслеживание нажатия медиа клавиш
  • события стилуса Samsung SPen: извлечение из держателя, установка в держатель, отображение и скрытие меню стилуса
  • подключение к компьютеру по шине USB и отключение от него
  • подключение к аппарату устройств USB и их отключение

Сеть:
  • включение и выключение режима "в самолёте"
  • включение и выключение режима автосинхронизации
  • подключение к устройству Bluetooth, наличие рядом устройства Bluetooth
  • включение и выключение адаптеров Bluetooth, NFC, WiFi. точки доступа WiFi, USB или Bluetooth (tethering), приемника GPS
  • подключение через виртуальную частную сеть (VPN) и отключение от этой сети
  • подключение к сети Ethernet и отключение от нее
  • установление и разрыв подключения к Интернет в определенном режиме мобильной передачи данных: 2G, 3G, 4G и других
  • обнаружение определенной (или любой) точки доступа WIFI, подключение к ней и отключение от нее
  • входящий/исходящий вызов
  • обнаружение вышки из заданного списка сотовых вышек
  • пропущенный вызов
  • достижение и потеря определенного уровня приема сигнала сотовой сети

Питание:
  • уровень заряда батареи в указанном диапазоне
  • повышение температуры батареи до определенного уровня, охлаждение батареи ниже определенной температуры
  • переход аппарата в состояние низкого энергопотребления (сна) и выход из него (Device Idle)
  • подключение и отключение зарядного устройства (проводного, беспроводного, питания от шины USB)
  • включение и выключение режима пониженного энергопотребления (режим Battery Saver, Powe Save Mode)

Сенсоры (при их наличии):
  • частота сердцебиения
  • влажность, давление, температура
  • освещенность, магнитное поле, датчик приближения
  • изменение ориентации устройства (лицом вверх/вниз, стоит вверх, перевернут вниз, на левом/правом боку)
  • иные датчики

Система:
  • старт и завершение пользовательской сессии
  • состояние настроек в поставщике системных настроек (the settings provider)

Внутренние состояния Tasker:
  • профиль активен
  • задача выполняется
  • значения переменных

Иное:
  • включение и выключение режима "не беспокоить" и беззвучного режима
  • изменение уровня громкости звуковых потоков звонка, разговора по телефону, сигнала тонального набора (DTMF), будильника, мелодий, уведомлений, системных оповещений
  • нажатие на программные кнопки и некоторые другие элементы пользовательского интерфейса Андроида и сторонних программ
  • изменение содержимого буфера обмена (clipboard)

Список основных действий
Предупреждения:
  • подача звукового сигнала заданного тона, длительности и громкости
  • вывод всплывающего сообщения (оно же Toast, но во вселенной Tasker оно называется Flash)
  • трансформация текста в "морзянку" и ее воспроизведение
  • вывод сообщений, обыкновенных и всплывающих диалогов, включая диалог аутентификации по паролю, графическому ключу, отпечатку пальца или иной биометрической информации вывод меню и списков (в действительности, возможно построение произвольных графических пользовательских интерфейсов посредством сцен)
  • вывод уведомлений в панель уведомлений, в т.ч. сопровождаемых светодиодной подсветкой и/или звуковыми извещениями, вибрацией
  • отмена собственных уведомлений
  • синтез речи (в т.ч. запись в файл и синтез с помощью WaveNet) и его остановка
  • управление яркостью экрана, светодиодного индикатора, вспышки, подсветки кнопок
  • активирование вибрации, в т.ч. по заданному шаблону

Приложения:
  • получение информации об установленных приложениях и компонентах приложений: операциях (activities), службах (services), приемниках сообщений (receivers)
  • вставка события в календарь
  • включение/отключение доступа к камере
  • переход на домашний экран, в т.ч. с определенным номером
  • запуск приложений, в т.ч. выбора их активностей
  • принудительное завершение приложений
  • запуск последнего открытого приложения
  • запуск ярлыка приложения
  • открытие списка недавних приложений
  • получение информации о записях в календаре
  • переключение режима разделения экрана

Аудио:
  • регулировка громкости, в т.ч. отдельных потоков: звонка, разговора по телефону, в т.ч. через bluetooth-гарнитуру, сигнала тонального набора (DTMF), будильника, мелодий, уведомлений, системных оповещений
  • настройка рингтонов по умолчанию для звонков, будильника, уведомлений
  • управление беззвучным режимом и режимом "не беспокоить"
  • управление режимом звукового сопровождения нажатий на аппаратные и программные кнопки, режимом тактильной навигации (haptic feedback), звуковыми эффектами
  • управление встроенным микрофоном
  • переключение при разговоре голосового потока на внешний динамик и обратно
  • управление проигрыванием рингтонов и вибрацией при входящих звонках, возникающих уведомлениях

Сценарии:
  • запуск сценариев на shell, javascript, SL4A
  • использование конструкций языкa Java и вызов функций языка Java и Андроида (через механизм Java reflection)
  • выполнение команд ADB через интерфейс ADB WiFi (необходимо выдать разрешения)

Экран:
  • управление настройками экрана: размером, яркостью, в т.ч. режимом автоматической яркости, и ориентацией, в т.ч. автоматической ориентацией
  • управление режимом "в автомобиле"
  • управление Темным режимом (Android 8+)
  • управление длительностью периода бездействия до отключения экрана
  • управление панелью навигации и панелью состояния, включая отображение иконок в панели состояния
  • установка обоев на главном экране и/или экране блокировки
  • управление блокировкой экрана: включение и выключение блокировки, в т.ч. принудительное включение блокировки
  • управление "ночным" режимом (работает только с режимами "в автомобиле" и "док-станция")
  • управление режимом "постоянно включен": никогда, при зарядке от сети и/или USB, беспроводной станции
  • получение информации о характеристиках экрана: размеры экрана, его разрешение, текущая настройка автоматической ориентации
  • управление панелью уведомлений: показ панели и сворачивание
  • получение снимков экрана (скриншотов)
  • включение/выключение экрана

Операции с файловой системой:
  • операции с каталогами: копирование, создание, удаление, получение списка файлов
  • операции с файлами: копирование, удаление, перемещение, чтение, чтение построчно, запись проверка существования файла, чтение атрибутов файла: размера, прав доступа, времени модификации
  • архивирование в архивы zip и GNU zip (gzip), извлечение из архивов zip и gzip
  • шифрование и расшифровка
  • передача файлов в приложения или на устройства
  • открытие файлов
  • запуск встроенного файлового менеджера
  • [root] перемонтирование разделов на внутренней или внешней карте памяти
  • выполнение SQL запросов к .db файлам баз данных

Google Drive:
  • авторизация в сервисе Google Drive
  • загрузка, скачивание, удаление файлов и каталогов
  • получение списка файлов и каталогов

Изображения:
  • изменение размеров, обрезка, поворот, отражение, применение фильтров

Ввод:
  • вывод диалога аутентификации (пин-код, графический ключ либо биометрические данные)
  • эмуляция клавиши назад
  • закрытие системных диалогов
  • [root] эмуляция нажатий на кнопки в т.ч. и несуществующие на аппарате, например, эмуляция джойстика - "универсальная кувалда", которой делается практически все
  • распознавание голоса
  • диалог ввода данных
  • вызов диалога метода ввода
  • эмуляция клавиатуры (не нужен root)
  • вывод диалога со списком элементов
  • долгое нажатие на клавишу питания
  • замена кнопок наэкранной навигационной панели
  • вызов программной клавиатуры
  • вывод текстового диалога с кнопками (до трех)
  • [root] эмуляция ввода текста

Местоположение:
  • определение текущего местоположения (по GPS или по сотовым вышкам и точкам доступа WiFi)
  • остановка определения текущего местоположения
  • управление режимами определения местоположения
  • открытие Google Карт, в т.ч. в заданной точке, навигацией к заданной точке либо в режиме просмотра улиц
  • вывод карты для выбора местоположения

Медиа:
  • захват в исключительное использование некоторых аппаратных кнопок
  • управление музыкальным проигрывателем, в т.ч. встроенным
  • воспроизведение MIDI на подключенном устройстве через USB
  • проигрывание аудиофайлов, встроенных рингтонов в т.ч. с выбором звукового потока
  • запись аудио с выбором звукового потока (в т.ч. звонков)
  • получение информации об аудиофайлах: название, исполнитель, время воспроизведения, текущая проигрываемая позиция трека
  • принудительный запуск сканирования карты на медиа-файлы
  • фотосъемка

Сеть:
  • управление режимом "в самолете", в т.ч. выборочное отключение радиомодулей
  • управление режимом автосинхронизации
  • включение и выключение адаптеров Bluetooth, NFC, WIFI, WiMax, приемника GPS, сети мобильной связи, в т. ч. управление режимами передачи данных в сети мобильной связи, управление подключением к точке доступа WiFi
  • сопряжение, подключение, отключение устройств Bluetooth
  • установка имени устройства в сети bluetooth
  • получение информации о подключенных / находящихся рядом Bluetooth устройствах
  • загрузка ссылки в браузере
  • открытие диалога отправки Email
  • работа с web-серверами: получение и отправка содержимого, не обязательно в формате html
  • управление доступом к сети для приложений
  • чтение/запись данных на NFC-метку
  • проверка доступности узлов в локальных сетях и сети Интернет
  • получение информации о сетевом подключении (тип подключения, наличие доступа к мобильной передаче данных), о режиме автосинхронизации, о параметрах сетей WIFI (MAC-адрес адаптера, уровень сигнала, имя точки доступа) и Ethernet, о параметрах подключения через VPN, о подключенных и сопряженных устройствах Bluetooth
  • включение и выключение точки доступа WIFI, USB tethering
  • управление спящим режимом WIFI

Телефон:
  • переключение при разговоре голосового потока на bluetooth-гарнитуру и обратно
  • звонок на определённый номер
  • управление входящими/исходящими звонками на определенные номера: блокировка звонков и их переадресация
  • управление журналом вызовов (открытие, очистка полная/пропущенных/входящих/исходящих)
  • создание СМС и MMS
  • ответ на входящий звонок ("поднять трубку"), завершение вызова
  • открытие контакта во внешнем приложении (например, видеозвонок в WhatsApp или Skype, навигация по адресу в Google Картах)
  • открытие контактов (последние, избранные)
  • отправка СМС, включая нетекстовые СМС (Data SMS)
  • выбор приложения СМС по-умолчанию
  • получение информации о контактах в телефонной книге

Работа со сценами:
  • создание, открытие, скрытие, уничтожение сцен, элементов
  • получение информации о сценах, элементах

Настройки:
  • открытие различных окон и диалогов системного приложения "Настройки"
  • запуск окон с информацией о системе, информации о батарее и будильниках, а также других окон

Система:
  • запрос системных разрешений
  • добавление нового будильника, отмена будильника, выключение будильника
  • [root] управление процессором
  • управление режимами работы процессора
  • управление режимом энергосбережения
  • [root] экстренные перезагрузка и выключение аппарата
  • выполнение поиска (на устройстве, в Web)
  • отправка произвольного системного события - интента (intent)
  • получение информации от определенных сенсоров
  • выбор ассистента
  • добавление содержимого в буфер обмена
  • запуск системного секундомера
  • чтение и изменение системных настроек Андроида

Управление задачами:
  • операторы для организации управления в программах: создание и изменение переменных, массивов, оператор если-то-иначе, циклы, вызов подпрограмм (в действительности, даже сопрограмм), математические функции, поиск и замена по шаблону, в т.ч. с использованием регулярных выражений

Иное:
  • работа с базами данных и поставщиками контента (content providers): чтение, запись и удаление информации
  • получение идентификатора текущего пользователя, идентификатора Андроида (Android ID)

Оба этих списка далеко не полны. Во-первых, набор событий, состояний и действий Таскера может быть расширен за счет подключения сторонних плагинов, тысячи их. Во-вторых, используя эмуляцию аппаратных и программных клавиш или запуская скрипты на шелл и SL4A, можно выполнить практически любое действие. А кроме того, есть еще прием и посылка интентов. А если, вдобавок, научиться вызывать функции языка Java, можно получить абсолютную власть над своим аппаратом.
Также в Таскере можно:
- Создавать собственные ярлыки, в том числе динамические, и виджеты, в том числе в панели быстрых настроек (quick settings)
- Создавать собственный пользовательский интерфейс, используя сцены (краткое описание)
- Создавать собственные приложения
ЧАсто задаваемые ВОпросы (FAQ)
ˇˇ
1. Не могу обновить / установить Tasker, что мне делать?
- Вы пытаетесь обновить купленный непосредственно у разработчика вариант Таскера (Direct-Purchase version) на версию Tasker 5.2 или выше. Поскольку, начиная с версии 5.2, Tasker распространяется исключительно через магазин приложений Google Play, то такое обновление невозможно. Перед установкой удалите программу, предварительно сделав резервную копию своих профилей. Немного подробностей - в ответах на вопрос Tasker (Пост shahmatist2 #74473831) (два следующих сообщения).
Подробнее о различиях в вариантах и версиях программы - в разделе с информацией о версиях.
- Вы устанавливаете версию Tasker ниже 4.5, и у вас в прошивке отсутствует библиотека Google Maps Android API, т.е. файлы com.google.android.maps.jar и com.google.android.maps.xml. Их можно найти в данной теме, воспользовавшись поиском, либо поискать в прошивках для вашего устройства. Пара рецептов: Tasker (Пост пионер2010 #15274629) и Tasker (Пост coolkaas #19016305).
ˇˇ
1.1. На моем устройстве нет Google Play. Как мне быть?
Только Direct-Purchase Version:
- Купить пакет лицензий (25+) непосредственно у разработчика.
- Поддержать автора на Patreon.
Подробная информация указана в Ordering / Validation FAQ
ˇ
2. Как импортировать проект/профиль/задачу/сцену?
Для импортирования используется "долгий тап" на заголовках вкладок profiles, tasks, scenes, на заголовках вкладок проектов или на вкладке с иконкой "дом" (где находится все, что не является частью какого-либо проекта), пункт меню называется Import. Файлы для импорта имеют формат xml и расширения .prj.xml (проект), .prf.xml (профиль), tsk.xml (задача), .scn.tsk (сцена). Файл проекта уже содержит все профили, задачи и сцены проекта.
Помимо формата XML в Таскере существует формат Description, про него написано в ЧаВо 10.
ˇ
3. Для работы Tasker нужны рут-права (root)?
- Некоторые действия Tasker требуют рут-прав, часть профилей, выложенных здесь, в разделе МРП, требуют рут-прав.
- Часть действий (например, действие System Lock - заблокировать устройство) требуют, чтобы Tasker был установлен администратором устройства. Иногда (например, событие New Window), требуется, чтобы служба Tasker была включена в специальных возможностях. Также (например, для события Notification), бывает необходимо, чтобы для Tasker был разрешен доступ к уведомлениям сторонних приложений. Несколько примеров подобных специальных настроек Tasker (Пост just@man #50495922).
- Часть контекстов и действий требуют специaльных системных разрешений, которыe невозможно выдать через штатный интерфейс приложения "Настройки" Андроида. Например, действие Secure Setting требует разрешения WRITE_SECURE_SETTINGS (пример и объяснение), состояние Media Button - разрешения SET_MEDIA_KEY_LISTENER, событие Logcat Entry - разрешения READ_LOGS, событие Volume Long Press - разрешения SET_VOLUME_KEY_LONG_PRESS_LISTENER, а для проверки запущенных сервисов приложений контексту Application требуется разрешение DUMP.
- Действие ADB Wifi позволяет выполнить команды шелла в сессии Android Debug Bridge (adb). Слово "Wifi" к имени действия добавлено исключительно для придания магического блеска этому тривиальному хаку. Действие ADB Wifi полностью аналогично действию Run Shell, отличие лишь в том, что сам shell запускается в рамках adb-сессии, а не в рамках Таскера. Но, поскольку в adb-сессии операции проводятся от имени пользователя shell, то количество разрешенных операций выше по сравнению с действием Run Shell. Естественно, говорить о полной замене root-сессии и действия Run Shell с опцией Use Root не приходится. Чтобы действие ADB Wifi заработало, придется изрядно попотеть.
- Нежелающие потеть с выдачей разрешений могут воспользоваться ADB AppControl либо другой "нескучной обоиной©" поверх ADB.
ˇ
4. Половину функций, озвученных в данной теме, не могу найти в своей версии Tasker, многие функции выделены красным цветом (недоступны), что я делаю не так?
- Таскер манипулирует большим набором контекстов и действий, чтобы их как-то упорядочить и распределить, интерфейс использует иерархическую структуру, например, категория App, действие Go Home. Такая же иерархическая структура используется для контекстов типа состояние и событие. К счастью, помнить категории для действий и контекстов не обязательно, в интерфейсе предусмотрено поле Filter, существенно облегчающее поиск, см. Tasker (Пост sergr59 #40051612). Кроме того, в интерфейсе повсеместно используется долгий тап (и на самих элементах, и на закладках), а также перетаскивание с удержанием. Интерфейсу посвящен раздел Main Screen оф.руководства. В Таскерах < 5.6 по умолчанию был выставлен режим для начинающих (Beginner mode), в котором были недоступны некоторые возможности (элементы интерфейса), режим можно было отключить в настройках Таскера. (В версиях 5.6+ этот режим удален.)
- При обсуждении действий и контекстов в теме, обычно, используется английский интерфейс Таскера (см. Примечание к п.3 правил темы). Возможно, если переключить язык интерфейса в настройках Таскера, внезапно обнаружатся пропавшие функции.
- Большинство выделенных красным действий можно заменить плагинами, но, как правило, потребуется рут. Например, достаточно долгое время в Таскере было недоступно действие GPS, однако его можно было заменить действиями GPS Enabled/GPS Disabled плагина Secure Settings. (Сейчас в Таскере есть действие Location Mode, позволяющее косвенно управлять приемником GPS.) Необходимо понимать, что после установки плагина, действие не перестанет быть красным, однако в разделе плагинов появится действие с такой же функциональностью.
- Если у Вас нет рута, иногда можно решить проблему, выдав Таскеру специальное разрешение. Подробности изложены в ЧаВо 3.
- Кроме того, специально для любителей покопаться в кишках системы в теме обсуждаются всевозможные рецепты, позволяющие добиться желаемого без установки плагинов, через прямое обращение к функциям Андроида. (Загляните в раздел "Маленькие спортивные хитрости", МСХ, если интересуетесь подобными рецептами. Например, МСХ 10 - аналог действий GPS для Андроидов 4.0+ и Location Mode для Андроидов 5.0+, МСХ 12 - замена действия Mobile Data 2G/3G. А замена действия Mobile Data - МСХ 4 и Tasker (Пост Primorsky78 #37418838.)
Пожалуйста, не спрашивайте в теме, когда в Tasker вернут то или иное действие. Его не вернут никогда. Используйте плагины.
ˇ
5. Меня просят выложить Run Log и/или logcat, что это такое и как это получить?
См. маленькие спортивные хитрости, Тайны отладки.
ˇˇ
6. Возможно ли с помощью Tasker создать отдельное приложение, apk?
Да, возможно. Потребуется плагин Tasker App Factory. Инструкции находятся в разделе App Creation оф.руководства.
ˇ
7. У меня есть мега идея, но я не собираюсь изучать Tasker, зато готов заплатить за её воплощение +100500 гуглионов $, к кому мне обратиться?
Лучше обратиться в тему Программы на заказ. Прайс-лист темы Tasker находится тут в конце поста, пункт 3.
ˇ
8. Чем отличается Tasker от других подобных программ?
Обычно, задачи в Таскере решаются намного проще, чем в других программах. Это достигается за счет двух присущих только Таскеру понятий: состояние и действие-настройка. Без этих понятий большинство элементарных задач либо не имеют решения вообще, либо решение оказывается крайне сложным.
Например, рассмотрим простейшую задачу "Включить беззвучный режим ночью (на совещании)". Большинство программ-планировщиков предлагают следующее решение:
событие: наступила ночь (совещание) -> включить беззвучный режим
событие: наступило утро (совещание окончилось) -> выключить беззвучный режим
Стоп! А почему, собственно, "выключить"? А если пришлось включить беззвучный режим раньше и надо оставить аппарат в этом режиме, а? Понятно, что нужно восстановить предыдущее значение режима. К сожалению, подавляющее большинство других планировщиков не умеют этого делать. Таскер умеет. Вот профиль на Таскере:
состояние: Ночь (совещание)
задача: включить беззвучный режим
Все. Кажется, что профиль совсем неправильный? Где выключение режима? Его нет. Восстановлением режима займется сам Таскер: если при наступлении ночи (совещания) режим был беззвучный, Таскер его оставит беззвучным, если же звук был включен, Таскер выключит беззвучный режим.
Желающие могут попробовать сделать подобный профиль в другой программе. В принципе, профиль такого уровня еще можно реализовать на чем угодно, но придется попотеть.
Пример профиля, который реализовать вне Таскера практически невозможно - второй пример в сообщении.
Подробно о состояниях, суперпозиции состояний и действиях-настройках можно прочитать в Курсе молодого бойца.
Кроме того, Таскер позволяет осуществить практически любую идею, поскольку позволяет создавать собственный пользовательский интерфейс (сцены), позволяет общаться с Андроидом напрямую и на его собственном языке (действие Java Function). Правда, почти всегда для осуществления идей требуется еще и понимание устройства Андроида.
ˇˇ
9. Мне с помощью Tasker удалось решить задачу, которая может спасти нашу Галактику от гибели, как мне поделиться решением?
В настоящее время связь с межгалактическим конгрессом утеряна, но мы готовы поделиться вашим решением с человечеством! Для этого Вам необходимо:
- выложить свое решение под спойлер в формате Description Таскера (см. ЧаВо, вопрос 10).
- ответить на возникшие вопросы по профилю, исправить найденные ошибки
- выложить окончательное решение под спойлер в формате Description Таскера.
Также Вы можете дополнительно выложить копию решения и в формате xml и/или в картинках, если хотите. Также, дополнительно разрешается выкладывать ссылки на TaskerNet. Другими словами, формат - Description является обязательным, остальные форматы, включая формат xml, ссылки на TaskerNet, картинки - желательными.
ˇˇ
10. Что такое формат Description Таскера? Что нужно сделать, чтобы получить мои проекты, профили, задачи, сцены в этом формате? Что за код, который встречается почти в каждом сообщении этой темы?
Формат Description Таскера - это текст с описанием (description) программы на Таскере. Выглядит примерно вот так:
задача в формате Description Таскера
Battery Line Width (68)
A1: Test Element [ Scene Name:Battery Bar Element:Background Test:Element Size Store Result In:%size ]
A2: Variable Split [ Name:%size Splitter:x Delete Base:On ]
A3: Variable Set [ Name:%size To:%size1 / 100 * %BATT Do Maths:On Append:Off ]
A4: Element Position [ Scene Name:Battery Bar Element:Background Orientation:All X:0 Y:0 Animation Time (MS):100 ]
A5: Element Position [ Scene Name:Battery Bar Element:Line Orientation:All X:0 Y:0 Animation Time (MS):100 ]
A6: Element Size [ Scene Name:Battery Bar Element:Background Orientation:All Width:%size1 Height:3 Animation Time (MS):100 ]
A7: Element Size [ Scene Name:Battery Bar Element:Line Orientation:All Width:%size Height:2 Animation Time (MS):100 ]
A8: Perform Task [ Name:Battery Line Color Stop:Off Priority:5 Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: ]
Как получить свои наработки в этом формате, словами объясняется тут, а наглядно - тут.
Подробное объяснение в картинках Tasker (Пост sergr59 #47858893).
Пункт меню Data / Description / Write File создаст копию всех Ваших текущих наработок (профилей, задач, сцен) в формате Description в файле Tasker/datadescr.txt на sd-карте. Для Таскера версий < 4.x файл в формате Description создается автоматически при бэкапе и называется userbackup.xml.txt.
Импортировать формат Description в Таскер невозможно, его можно лишь создать руками, набрав профиль по описанию. Для полноценного импорта предназначен формат xml.
Если Вы хотите задать вопрос или поделиться своими наработками, то вместе с форматом Description рекомендуем также указать версию Андроида и наличие (отсутствие) root-прав.
ˇ
11. Правда, что в этой теме присутствуют телепаты, которые могут дать четкий ответ на не полностью сформулированный вопрос?
Нет! К сожалению два наших телепата исчезли бесследно, а третий ушел в отпуск, но до настоящего момента так и не вернулся (мы все таки надеемся, что он не пропал и обязательно известим всех когда он вернется)
Все наши телепаты нашлись и открыли свою тему! Все вопросы задаем там!
ˇ
12. Посмотрев на статистику использования памяти, я увидел, что Таскер занял 100/50/20 Мбайт оперативной памяти. Считаю, что это слишком много. Можно ли как-то урезать аппетиты Таскера?
- (краткий ответ) Можно. Выйдите из окна редактирования профилей.
- (развернутый ответ) Таскер состоит из двух неравных частей:
- собственно приложение Таскер, которое реализует функции редактирования профилей и их отладки, содержит меню настроек и встроенную справку и т. п.;
- сервис, следящий за контекстами и реализующий очередь выполнения задач и действий.
Первой части действительно требуется существенный объем оперативной памяти для работы. Однако, как только Вы закончите редактировать свои профили и выйдете из приложения, от Таскера останется только сервис, который обычно требует не очень много памяти. Точная цифра зависит от используемых Вами контекстов и действий, но редко превышает пару мегабайт. Максимальный якобы наблюдаемый объем - 10 Мбайт.
Кроме того, нужно отдавать себе отчет, что цифры, рисуемые Андроидом для первой части Таскера, показывают среднюю температуру по больнице, давление на Северном полюсе, но никак не реально занимаемый объем оперативной памяти. Для понимания, откуда берутся такие цифры, рекомендую внимательно прочесть две заметки Дианы Хакборн (Dianne Hackborn), известного в узких кругах разработчика Андроида (А какая фамилия, а? Никакого ника не надо): ответ на вопрос How to discover memory usage of my application in Android и Process Stats: Understanding How Your App Uses RAM
Поскольку Таскер всего лишь прослойка к функциям Андроида, то он разделяет память с Андроидом (из-за используемой в Андроиде метрики PSS для подсчета объема оперативной памяти), а поскольку Таскер - прослойка ко многим функциям, то и память разделяется практически со всем Андроидом. Отсюда и большие цифры для первой части Таскера: Андроид просто приписал половину объема занимаемой им памяти Таскеру.
В тот момент, когда от Таскера остается только сервис (а это большая часть времени), используются только необходимые профилям и задачам функции Андроида - объем используемой Таскером памяти якобы сокращается. Но мы-то понимаем, что в действительности ничего никуда не делось, просто Андроид перестал приписывать Таскеру свою память.
Из всего этого можно сделать следующий вывод: метрика PSS в случае Таскера не совсем корректна. Да, это так. Однако идеальной метрики не существует в принципе, а в случае подавляющего числа приложений использование метрики PSS - достаточно разумное решение.
ˇ
13. Посмотрев на статистику энергопотребления, я с удивлением обнаружил, что Таскер постоянно чем-то занят, он использует 90%/50%/10% процессорного времени/батареи. Считаю, что это слишком много. Можно ли как-то урезать аппетиты Таскера?
Можно, задумайтесь над тем, что именно делают Ваши профили.
Следует четко уяснить, Таскер сам по себе процессор не занимает, батарею не разряжает. Это все делают написанные пользователем профили. В официальном руководстве есть специальные разделы Power Usage и Location Without Tears (как удачно в свое время перевел v-oz, «позиционирование без геморроя»), посвященные методам по снижению энергопотребления. Если их внимательно почитать, станет ясно, что, например, контексты Orientation или Proximity или Location с GPS использовать поодиночке в профилях не стоит. Если Вам, конечно, дорога Ваша батарея. Нужно дополнительно задать контексты типа Time, Call, Variable Value и т. п.
Иногда пользователи после активных экспериментов с Таскером и долгой отладки задач забывают остановить задачи, запущенные вручную. В результате задача тихо крутится в цикле, а в переменной %TRUN ее нет (т. к. таким задачам зачастую ленятся давать имена). И обнаружить ее можно, только включив лог отладки в Таскере.
Отсюда совет: всегда останавливайте очередь выполнения задач после экспериментов.
ˇ
14. У меня Tasker не видит root, что делать?
Варианты решения: офф.FAQ, переводы Tasker (Пост Nukri #52499605) и Tasker (Пост axbat #52501154) (равноценные, читайте любой на выбор), практический рецепт.
ˇ
15. На моем Андроиде Tasker работает ненадежно: не активирует контексты, пропускает действия. Что делать?
- Варианты решения для Андроидов 5.0+ содержатся в оф.FAQ Why doesn't Tasker work in the background on my device?. Для Андроидов 5 - 7 актуален перевод старого содержимого раздела Android System Power Management оф.руководства. Некоторые производители баловались подобными вещами и ранее, например, Tasker (Пост sergr59 #38359613). Пользователям MIUI придется повозиться еще больше, например Tasker (Пост earth77 #55617867) (проблемы современных версий MIUI изложены в оф.FAQ). Если Вы считаете, что зачитали оф.FAQ до дыр, значит Вам нужно прочитать его еще раз.
- Требуется включить сервисы местоположения, см. Tasker (Пост Demon72 #59472287):
+ для корректной работы контекста WIFI Near и переменной %WIFII (при отсутствии подключения к точке доступа WIFI) на Андроидах 6.0+;
+ для корректной работы контекста WIFI Connected с заданным SSID или MAC и переменной %WIFII (при наличии подключения к точке доступа WIFI) на Андроидах 9.0+ (а для некоторых аппаратов - начиная с Андроида 8.1);
+ для корректной работы контекста Cell Near и переменной %CELLID на Андроидах 8.0+.
Замечание: Таскер должен иметь также права на доступ к местополжению, а на Андроидах 10+ этот доступ должен быть предоставлен постоянно.
- Если в профилях используются плагины, все рекомендованное выше, требуется применить и к плагинам тоже.
ˇ
16. Из-за Таскера в строке состояния (и на экране блокировки) появляется иконка будильника. Зачем она нужна? Можно ли ее убрать?
Это требуется для корректной работы контекста Time и действия Wait (см. ЧаВо 15). Появление иконки будильника определяется опцией Use Reliable Alarms (которая, начиная с Таскера 5.7, к тому же имеет значение Always по умолчанию). Отключить иконки в строке состояния можно действием Status Bar Icons. Не рекомендуется изменять значение опции Use Reliable Alarms, даже если Вам кажется, что Вам она не нужна. Поверьте, Таскер знает лучше Вас, нужна она Вам или нет. Подробности про опцию - Tasker (Пост username11 #85007795).
ˇ
17. Не могу переключить состояние WiFi, изменить размер экрана (действие Display Size).
Google изменил способ работы Android для приложений, ориентированных на API 29, поэтому Tasker начиная с версии 5.11 не может переключать WiFi. Подробнее
Эта проблема решается установкой приложения-компаньона Tasker Settings из этого поста или отсюда.
Обязательно исключить приложение Tasker Settings из оптимизаторов батареи (ЧаВо вопрос 15 относительно этого приложения).
Автор не может загрузить это приложение в Google Play т.к. оно ориентировано на API 21 (поэтому переключение WiFi все еще работает с ним) и Google допускает приложения только ориентированных на API 29 и выше
ˇ
18. Возможна ли интеграция AutoVoice с Google Assistant?
Да, но с некоторыми ограничениями. Загляните в официальный FAQ. На заблокированном экране работать не будет из-за ограничений Android. Ответ разработчика
Местные курсы
ˇ
1. Курс молодого бойца (для новичков)
Краткое содержание:
- основные понятия Таскера: действие, задача, контекст, профиль;
- чем отличается контекст-состояние от контекста-события;
- что такое действие-настройка;
- несколько контекстов в одном профиле;
- входная и выходная задачи профиля.

2. Tasker: практическое руководство
Краткое содержание:
- простые профили;
- переменные;
- сравнение по шаблону;
- математические действия;
- циклы;
- массивы переменных.

3. Основы сценического мастерства
Краткое содержание:
- что такое сцена;
- создаем сцену;
- как согласовать дизайн сцены с интерфейсом Android.
Местная библиотека, коллекция видеоуроков
ˇ
Почитать:
- уроки Tasker на androiddp1
- основные понятия Tasker от 3dnews.ru (спасибо VityaPda)
- уроки-примеры от fans-android.com
- познавательные статьи от v-oz (рекомендуется почитать и другие статьи в блоге)
- частная библиотека с эксклюзивными "рукописями", собранными местным искусствоведом slax

Посмотреть:
- канал "ПРО Tasker" (автор e8genius)
- плейлист "Tasker" от androidp1
- канал "Tasker на русском языке"

Readings (in English):
- Официальные ресурсы: Руководство (в частности, системные переменные Tasker), FAQ, Wiki, Форум, Tasker Feature Requests / Bug Reports.
- Записи в блоге Benjamin Linnik про Tasker (спасибо roman.kaskad)
- "Живые" примеры от pocketables.com (встречаются статьи не связанные с tasker, кто то накосячил с тегами). В частности, серия статей Beginner’s guide to Tasker (спасибо VityaPda)
- Tasker Tutorials By Ryoen (Google+) Tasker Tutorials By Ryoen Deprouw
- Tasker on Reddit (присутствует разработчик)
- Неделя Tasker на xda-developers
- Tasker Resources на сайте IzzyOnDroid. Коллекция учебников по Tasker.
- Вопросы с тэгом tasker на Android Enthusiasts Stack Exchange. И этим все сказано.

Watching:
- Видео уроки от Ryoen Deprouw
- Видео уроки от Armando Ferreira
- Видео уроки от hollywoodfrodo
- Видео от pocketables.com
- Канал João Dias в YouTube. Автор размещает ключевые особенности новых версий и много интересного
- для ленивых гуглить в youtube ;)
Краткий англо-русский словарик темы
task - задача
action - действие
setting - действие-настройка (используется крайне редко, а сам русскоязычный термин не совсем удачный)
context - контекст
state - состояние, подразумевается контекст, т.е. state context - [контекст] состояние
event - событие, то же самое замечание, что и для state
profile - профиль (если профиль содержит ровно один контекст, то иногда термин "профиль" может означать контекст и наоборот. И к русскому языку это никакого отношения не имеет.)
project - проект, набор профилей, сгруппированных вместе
scene - сцена
scene element - элемент сцены
description - здесь, в этой теме, формат Description Таскера (см. ЧаВо, вопрос 10)
kid app - приложение, созданное из профиля (проекта) с помощью плагина Tasker App Factory (см. ЧаВо, вопрос 6)
JS - действия JavaScript, JavaScriptlet, а также язык JavaScript в целом
JF - действия Java Function, Java Object, а также язык Java и Android API в целом
Плагины для Таскера
ˇ
Плагины - это сторонние программы, расширяющие функциональность Таскера за счет добавления новых действий и контекстов. Многие обычные программы являются также и плагинами для Таскера.
- AutoAlarm версия 1.0.25 - продвинутый аналог события Alarm Clock.
- AutoCast версия 1.5.1.bf - дружим Таскер с Chromecast.
- AutoContacts версия 1.1.18 - чтение и поиск контактов
- AutoHue версия 1.1.8 - управление лампами Philips Hue и LIFX.
- AutoInput ˇ версия 2.7.bf - эмулирует события пользовательского интерфейса, например, проигрывает заранее подготовленные действия нажатий на экран в определенных областях; также позволяет задать реакцию на события в пользовательском интерфейсе и извлечь содержимое элементов пользовательского интерфейса; намного более продвинутый аналог Frep.
- AutoLaunch версия 1.0.24 - динамический запуск приложений.
- AutoLocation версия 1.2 - расширяет контекст Location, предоставляя доступ к поставщику местоположения fused и интерфейсу геозон (Geofencing API), поддерживает распознавание физической активности (Activity Recognition API).
- AutoNotification ˇ версия 4.1.4 - расширяет контексты и действия, работающие с уведомлениями (notifications).
- AutoPebble версия 1.0.31) - дружим Tasker с Pebble.
- AutoRemote ˇ версия 3.0.43b92 - удаленное управление устройствами и ББ, как через интернет, так и через bluetooth (можно подружить и заставить общаться Таскеры между собой).
- AutoShare версия 2.0.40 - встраиваем Таскер в системное меню Share.
- AutoTools ˇ версия 2.3.3 - комбайн из разнообразных действий, неподдающихся краткому перечислению, см. AutoTools Guide.
- AutoVera версия 1.0.16 - управление устройствами по протоколу Z-Wave через контроллеры Vera.
- AutoVoice ˇ версия 3.5.5 - голосовое управление, расширение действия Say.
- Остальные auto-плагины от joaomgcd, оф.сайт.
- Bluetooth Detection версия 4.1.1 - расширение контекстов BT Connected и BT Near.
- Broadlink RM Plugin версия 2.3.2 - управление контроллером Broadlink RM (тема на форуме).
- Email Me Pro (скачать) - отправка email (альтернативное решение на SL4A), похожий плагин - Locale SendSilentMail Plug-In версия 4.52
- RESTask for Tasker - поддержка RESTful APIs (GET, POST, PUT, DELETE).
- Secure Settings, ˇ тема на форуме (не рекомендуется установка ломаных PRO версий) - управление системными настройками Андроида, местами дублирует функции самого Tasker, но часть функционала позволяет намного расширить его возможности [Root]
- SSH Tasker Plugin (скачать) - интеграция клиента протокола SSH в Таскер
- Tasker App Factoryˇ - позволяет создать из проекта в Tasker полноценное приложение (.apk).
- TaskKill Tasker Plugin (скачать) - остановка приложений, плагин удален из Google Play из-за нарушения правил размещения программ [Root]
- Tasker Now (скачать) - взаимодействие Tasker с Google Now
- Toggle Network Type 5.0, тема на форуме - переключение предпочитаемого типа сети, например 2G/3G [Root]
- Toggle data 5.0, тема на форуме - управление мобильной передачей данных [Root]
- Weather ACE Tasker Plugin - прогноз погоды через приложение Weather ACE, пояснение от автора приложения
- WhatsTasker (скачать) - дружим Tasker с Whatsapp, плагин удален из Google Play
- Большой список плагинов и поддерживаемых приложений на оф.сайте.
- Коллекция плагинов и поддерживаемых приложений на сайте IzzyOnDroid.
- Списки плагинов в иных темах форума: Automagic, Locale, MacroDroid, модули Xposed (некоторые модули имеют интеграцию с Tasker).

Плагины для построения своих виджетов, пользовательского интерфейса, живых обоев, интеграция с лаунчерами:
- Zoom (от бывшего автора Таскера)
- Minimalistic Text, тема на форуме
- Ultimate custom widget (UCCW), тема на форуме
- Zooper Widget Pro, тема на форуме
- KLWP Live Wallpaper Maker, тема на форуме
- Material Design Tasker Plugin версия 6.1 - создаём свой UI в стиле Material Design
- Snackbar Tasker Plugin версия 11.1.1 - создаем свои элементы интерфейса типа Snackbar, Bottom bar и Bottom sheet
- Lightning Launcher, тема на форуме предоставляет взаимную интеграцию с Таскером, подробности - в wiki Working with Tasker
МРП - местные решения (примеры)
ˇ
myxa781 @ 14.05.2015, 08:47 *
примеры приведенные в шапке собраны не для того, чтобы их просто копировать (хотя это возможно, т.к все они (или почти) работоспособны), а чтобы на них разобраться и понять, что в принципе сложного ничего нет.

[attachment="7834963:dummies.png"] простые профили для новичков

1. Виджет включения/отключения автояркости
If %Bright = 0
Auto Brightness set On
Variable Set name %Bright to 1
Else
AutoBrightness set Off
Display Brightness Level 3
Variable Set name %Bright to 0
EndIf
Flash Text %Bright (это для контроля во время отладки, можно удалить)

и создать виджет или ярлык Таскера, привязав к нему задачу.
Код можно сократить на два действия, воспользовавшись действием Variable Add с параметром Wrap Around
If %Bright = 0
Auto Brightness set On
Else
AutoBrightness set Off
Display Brightness Level 3
EndIf
Variable Add name %Bright value 1 wrap around 2 ]
Flash Text %Bright (это для контроля во время отладки, можно удалить)

Продолжение - рассказ про виджеты.
2. Выполнение действий по расписанию (контекст Time Таскера)
2.1. Подлючение к домашней WiFi сети и синхронизация данных Tasker (Пост brake #5066785)
2.2. Переключение SIM. Постановка: Tasker (Пост dimonsob #33970409). Решение: Tasker (Пост gavrila #33974305)
2.3. Включение WIFI. Постановка: Tasker (Пост kolik76_76 #35332544). Решение: Tasker (Пост sergr59 #35332785)
2.4. См. пример 16 ниже
3. Уведомление о полном заряде аккумулятора Tasker (Пост sumoto #6268990)
4. Вывод активных профилей на рабочий стол с помощью Minimalistic Text Tasker (Пост LANstalker #7008782)
5. Отключить экран, когда телефон кладется на стол экраном вниз Tasker (Пост roly #7379740) (используется приложение Screen Off and Lock)
Примечание. Приложение Screen Off and Lock использовать не обязательно. Сейчас у Таскера уже есть действие System Lock.
6. Управление встряхиванием (событие Shake Таскера)
6.1. Сброс входящего встряхиванием и перезвон Tasker (Пост MOPOK #13271364)
6.2. Скриншот встряхиванием Tasker (Пост Nukri #33921486)
7. Автоматическое управление WiFi Tasker (Пост rjlexx #33556843)
8. Перезвон на последний входящий номер Tasker (Пост skunsofob #9357433)
9. Напоминание звуком о пропущенных звонках и СМС каждые 3 минуты Tasker (Пост intro555 #30478905) (См. также пример 19 ниже.)
10. ˇ Выполнение действий с задержкой - методика отложенного запуска (см. МСХ 6)
10.1 Выключение Bluetooth, если нет соединения в течение 3 минут Tasker (Пост VityaPda #15433144)
10.2. Авоотключение Bluetooth через 1 минуту Tasker (Пост rjlexx #33387106) или Tasker (Пост VityaPda #33387312). Обсуждение (в том числе и ссылки на другие решения): Tasker (Пост username11 #33388672).
10.3 Блокировка экрана по датчику приближения с задержкой Tasker (Пост slax #37063616). См. также профиль 5.
10.4. Набор профилей, выполняющихся после выключения экрана с задержкой: перевести мобильную сеть в режим 2G Only, отключить WIFI, если были подключены к конкретной AP, отключить WIFI вне зоны действия AP Tasker (Пост dimusische #38434559)
11. Выключение GPS, WiFi, передачи мобильных даных и точки доступа через USB при выключении экрана Tasker (Пост taganrog32 #15805624)
12. Задача "говорящие часы" на основе TTS Tasker (Пост Nukri #16482906), доработанный вариант Tasker (Пост Nukri #40811001), еще один вариант Tasker (Пост GigaMen #39665630)
13. Запуск приложения "Камера" с полной яркостью по кнопке "поиск" Tasker (Пост gameover19 #16813469)
14. Виджет включения/выключения приложения (на примере Cyberon Voice Commander) Tasker (Пост EvilShrike #17198021)
15. Проигрывание рингтона при входящих Tasker (Пост skunsofob #17329403)
16. Включение режима "в самолете" на ночь Tasker (Пост taganrog32 #17643467)
17. Фонарик, просто фонарик Tasker (Пост javerin #21687565) (см. также Java МРП 2)
18. Блокировка экрана при звонке с подключенной гарнитурой Tasker (Пост tvv56 #24317764)
19. Напоминание о пропущенных звонках и СМС Tasker (Пост tvv56 #24317911) (См. также пример 9 выше.)
20. Плавное увеличение громкости звонка Tasker (Пост tvv56 #25412353) Обсуждение Tasker (Пост tvv56 #25402750)
21. Уведомление при исчезновении сигнала сотовой сети Tasker (Пост gameover19 #28186341)
22. Выключение аппарата при достижении критического уровня зарядки в картинках Tasker (Пост coolkaas #24929040)
23. Автоматический ответ на звонок (альтернативы действию Take Call)
23.1 С помощью идей из МСХ 2: Tasker (Пост intro555 #44254063)(см.упрощенный вариант)
23.2. С помощью плагина AutoTools: Tasker (Пост shuraken31 #77545926)
24. Голосовой запрос проверки счета. Постановка: Tasker (Пост Stimuliator #31750382). Решение без использования плагинов: Tasker (Пост Nukri #31750978)
25. Голосовое управление с помощью плагина AutoVoice
25.1 Запуск приложения голосом Tasker (Пост rjlexx #33259309)
25.2 Управление авто с сигнализацией StarLine (с GSM модулем) Tasker (Пост Spider #48818745)
26. При подключении к домашней сети Wi-Fi отключить Bluetooth и блокировку экрана Tasker (Пост KlgFinn #36303973)
27. Вывод баланса карты на экран блокировки с помощью плагина DashClock Tasker Extension (виджета DashClock Widget) Tasker (Пост gavrila #39827385)
28. Управление устройствами (с помощью плагина AutoRemote) Tasker (Пост KlgFinn #55589289) (см. также сложное МРП 10).
29. Автоматизация функции быстрого звонка в Яндекс Браузере (используется плагин AutoNotification) Tasker (Пост lupuslol #59667358).

[attachment="7834965:emc2.png"] продвинутые профили

1. <Перемещено в МСХ 13.>
2. Как отправлять e-mail из Tasker Tasker (Пост Oleg V #21581197) (альтернативный вариант см. раздел плагинов)
3. Включение и блокировка экрана по датчику приближения Tasker (Пост Remie-l #15007005)
4. Включение компьютера по WiFi с использованием Tasker (Пост j0ker #7649554) Wake On Lan (пример в картинках - Tasker (Пост j0ker #14247930) )
5. Alarm with Snooze Tasker (Пост sergiii #9754611)
6. Battery bar Tasker (Пост Nukri #15868156) и дополнение Tasker (Пост Calhoon #15929667)
7. Запуск и остановка сервиса DVGet при включении/отключении передачи данных Tasker (Пост Nukri #15874032)
8. Вывод потребляемого траффика поверх всех окон Tasker (Пост taganrog32 #17436431)
9. Блокировка включенного экрана во время разговора Tasker (Пост intro555 #31369886)
10. Определениe местоположения устройства
10.1. С отправкой координат на сервер действиeм HTTP Request (GPS-трекер) Tasker (Пост passerby #88269829)
10.2. По удаленному запросу (через плагин AutoRemote) Tasker (Пост EasyWorld #31517883) (см. также простое МРП 28).
11. Отложенный запуск браузера с открытыми ссылками, пример использования массивов Tasker (Пост dimcus #21030010) Обсуждение Tasker (Пост dimcus #21022095)
12. Уведомление о пропущенных звонках с голосовым выводом имени контакта, от которого пропущен звонок Tasker (Пост keta22 #24770624)
13. Лог батарейки Tasker (Пост coolkaas #24951724)
14. Эмуляция автомагнитолы Tasker (Пост Arkkor #25973066)
15. Предварительное уведомление об исчерпании лимита бесплатных минут Tasker (Пост sergr59 #27804376)
16. Голосовой вывод прогноза погоды Tasker (Пост zurzmansor #34347212). Еще один вариант - Tasker (Пост ajm #32677684). Альтернативный вариант на базе Weather ACE - Tasker (Пост Aleph4 #31856902). Еще вариант - Tasker (Пост ajm #34565142). И еще вариант - текущая погода с Intellicast.com (для виджета) Tasker (Пост Graymax #37077583). Вариант для виджета (с использованием плагина AutoTools) - Tasker (Пост WoxiFixs #67784234)
17. Уведомление на какую симку/оператора входящий звонок на 2-симочном телефоне и о несоответствии операторов Tasker (Пост sergr59 #35207240)
18. Автоматический ответ на звонок и громкая связь Tasker (Пост intro555 #44254063)
19. Смена обоев рабочего стола (используется Java Script) Tasker (Пост EasyWorld #39600695)
20. Пересылка части принятых СМС в Telegram по условию (используется Java Script) Tasker (Пост z-dmitry #66748297)
21. Установка случайного рингтона на входящий, пример работы со сценами, реакция на события сцен Tasker (Пост R3m #83394496)

[attachment="7834967:java.gif"] профили с Java

1. Получение адреса места по его координатам Tasker (Пост v-oz #39631433), уточнение Tasker (Пост yhnyhn11 #64456808)
2. Фонарик Tasker (Пост slax #53903882)
3. ytdl - YouTube downloader 1.21 Tasker (Пост Pilot33303 #106195374). Требуется установка Termux

И еще очень много профилей, пока не попавших в шапку, можно найти в теме, поискав по ключевой фразе java function.

Просьба к авторам изложенных решений. Не исправляйте профили (кроме опечаток) без предварительного уведомления и обсуждения в теме.
МСХ - маленькие спортивные хитрости
ˇˇ
1. Тайны отладки.
ˇ
2. Перехват и эмуляция аппаратных клавиш, элементов пользовательского интерфейса:
Для эмуляции аппаратных клавиш и элементов пользовательского интерфейса в Таскере предусмотрены действия Button, Dpad, Type, контексты Assistance Request, Button Widget Clicked, Button:Camera, Button: Long Search и др. Их функционал ограничен, существенно более продвинутые функции доступны в плагинах AutoInput и AutoNotification. С помощью этих плагинов возможно проэмулировать практически любое действие пользовательского интерфейса и перехватить практически любое его событие. Тем не менее, встречаются случаи, когда плагины бессильны, а во многих простых ситуациях плагины избыточны. В этой маленькой спортивной хитрости изложены альтернативные плагинам рецепты.
- методика эмуляции аппаратных клавиш через sendevent Tasker (Пост v-oz #12681202)
- методика перехвата аппаратных клавиш через getevent Tasker (Пост coolkaas #23702923)
- альтернативное решение для перехвата - модуль xposed additions pro
- методика эмуляции нажатий на экран через input tap Tasker (Пост gmorgen #33262026); с картинками - Tasker (Пост sergr59 #45647656)
- коды кнопок (из core/java/android/view/KeyEvent.java) для input keyevent Tasker (Пост username11 #21526131)
ˇ
3. Ловим события в системном логе (logcat), применяя идеи МСХ 2 (чтобы эти рецепты заработали на Вашем аппарате, их требуется слегка доработать, уловив основную идею):
- собеседник поднял трубку (ответил на исходящий) Tasker (Пост dnsis #25551292)
- подсистема text-to-speech (tts) Андроида начала работать Tasker (Пост myxa781 #24101465) и Tasker (Пост myxa781 #24224417)
Использовать shell-скрипт из МСХ 2 не обязательно, в Таскере есть контекст-событие Logcat Entry. Однако, суть данной хитрости от этого не меняется.
ˇ
4. Немного информации о встроенной в Андроид утилите svc Tasker (Пост slax #53419279).
ˇ
5. Дочерняя тема от coolkaas Скрипты на shell под Android, выросшая из МСХ 2. В теме обсуждается программирование на шелле (действие Run Shell Таскера). Краткий справочник по командам: Официальное руководство BusyBox (описание), вот один из примеров применения.
ˇˇ
6. Отложенный запуск
Иногда требуется запустить задачу не в момент активации контекста, а немного позже. Для этого используется метод отложенного запуска: первым действием задачи ставим действие Wait, за которым следует действие Stop If с проверкой того, что условие запуска задачи все еще выполняется. Обычно, это проверка активности профиля, но встречаются и другие варианты.
profile "Имя профиля"
context …
task
Wait время
Stop If условие запуска
Конечно, метод отложенного запуска можно использовать и для выходных задач.
Примеры использования метода: Tasker (Пост kefirux #23641303) и Tasker (Пост kefirux #23646121) и Tasker (Пост kefirux #23660085). Кроме того, профилям, использующим данный метод, посвящен простой МРП 10.
Действие Stop с проверкой активности профиля делается так
Stop If %PACTIVE ~ *,Имя профиля,*

Обратите внимание на запятые, типичная ошибка новичка - забыть о них при проверке переменной %PACTIVE.

ˇ
7. Объединение контекстов по ИЛИ
Существуют три основных метода. В первом и самом простом используется свойство независимости задач от контекстов - задачу можно привязать к нескольким контекстам одновременно (это свойство Таскера подробно рассмотрено в "Курсе молодого бойца")
profile "Профиль1"
context state контекст А
task "Задача"

profile "Профиль2"
context state контекст B
task "Задача"

Недостатки этого метода:
- задача будет запускаться при активации каждого профиля;
- выходная задача, если она нужна, тоже будет запускаться при деактивации каждого профиля.
В целом, это, конечно, совсем не объединение контекстов по ИЛИ или ну очень частный случай такого объединения. Зато прекрасно работает в простейших ситуациях без заумных наворотов.
Второй метод основан на использовании состояния Profile Active (профиль активен). В параметре Name (имя проверяемого контекстом профиля) действуют сравнения по шаблону Таскера (Pattern Matching). Используя простое сравнение по шаблону (simple matching), получаем:
profile "ЭтоПрофиль1"
context state контекст А
task
Stop

profile "ЭтоПрофиль2"
context state контекст B
task
Stop

profile "Профиль1 или Профиль2"
context state Profile Active [ Name:ЭтоПрофиль1/ЭтоПрофиль2 ]
enter task "Задача"
exit task "Выходная задача"
В действительности, если правильно назвать профили, можно использовать и такой шаблон:
profile "Профиль1 или Профиль2"
context state Profile Active [ Name:ЭтоПрофиль* ]
enter task "Задача"
exit task "Выходная задача"
то есть контекст теперь проверяет, активен ли какой-нибудь профиль, начинающийся со слова "ЭтоПрофиль", в такой шаблон попадут оба профиля "ЭтоПрофиль1" и "ЭтоПрофиль2". Конечно, иных профилей с префиксом "ЭтоПрофиль" у вас быть не должно.
Можно также воспользоваться проверкой системной переменной %PACTIVE:
profile "Профиль1 или Профиль2"
context state Variable Value %PACTIVE ~ *,ЭтоПрофиль1,*/*,ЭтоПрофиль2,*
enter task "Задача"
exit task "Выходная задача"
или даже так:
profile "Профиль1 или Профиль2"
context state Variable Value %PACTIVE ~ *,ЭтоПрофиль*,*
enter task "Задача"
exit task "Выходная задача"
Данный метод наиболее точно объединяет контексты по ИЛИ. Заметьте, что выходная задача запустится, когда оба профиля деактивируются, что нам и требуется. (Действительно, выходная задача должна запускаться при деактивации контекста, т.е. когда верно отрицание условия активации: НЕ (Профиль1 ИЛИ Профиль2). Воспользовавшись известной формулой булевой алгебры
НЕ (Профиль1 ИЛИ Профиль2) <=> (НЕ Профиль1) И (НЕ Профиль2)

получим условие деактивации профиля "Профиль1 или Профиль2" в правой части формулы.)
А применив отрицание к этой формуле, получим идею, лежащую в основе третьего метода
Профиль1 ИЛИ Профиль2 <=> НЕ (НЕ (Профиль1 ИЛИ Профиль2) ) <=> НЕ ( (НЕ Профиль1) И (НЕ Профиль2) )

В правой части мы видим стандартное объединение профилей по И. Чтобы получить те «НЕ», что внутри скобок, нужно задать отрицание для контекстов в профиле, у большинства контекстов Таскера для этого есть флаг Invert. Чтобы получить «НЕ» перед скобкой, необходимо сделать задачу выходной для профиля.
profile "Профиль1 или Профиль2"
context state Not контекст А
context state Not контекст B
exit task "Задача"
enter task "Выходная задача"

Недостатки этого метода:
- метод сложен, чтобы в него въехать, придется потрудиться
- настройки, изменяемые действиями-настройками в задаче "Задача", не сохраняются, поскольку задача является выходной
- по этой же причине настройки, изменяемые действиями-настройками в задаче "Выходная задача", восстанавливаются в задаче "Задача"

ˇ
8. Корректное завершение работы (отключение питания, перезагрузка)
- Все Андроиды: Tasker (Пост myxa781 #30556899)
- Андроиды 4.3+: МСХ 4
ˇ
9. Cекреты %evtprm - Tasker (Пост Nukri #33317770)
Способ логирования новых окон с применением %evtprm - Tasker
ˇ
10. Управление настройками местоположения (GPS / сеть):
Для управлениями настройками местоположения в Таскере есть действие Location Mode, однако, оно предполагает, что настройки местоположения являются стандартными, для некоторых прошивок это не верно. Кроме того, данное действие доступно лишь для Андроидов 5.0+. В этой маленькой спортивной хитрости раскрывается внутренняя механика системных настроек местоположения.
- управление через интерфейс стандартного системного виджета Tasker (Пост ivanius-1976 #16390085)
- изменение настроек местоположения в поставщике контента (провайдере) settings Tasker (Пост slax #64882379) (внутренняя механика действия Custom Setting).
ˇ
11. Разбор (парсинг, parsing) текстовых данных, например, html-страниц.
- Основным инструментом для разбора текстовых данных является действие Variable Search Replace. Как следует из названия, оно позволяет искать по заданному шаблону в строке, а также заменять или извлекать части строки. Действие существенно опирается на понятие "регулярное выражение" (regular expression, regexp): раздел оф. руководства, раздел из Android API Reference, онлайн-тестер регулярных выражений. Примеры использования - простой МРП 27, сложные МРП 11 и 16.
- Поскольку разбор html-страниц регулярными выражениями - это путь Ктулху, рекомендуется использовать инструменты разбора, доступные в JavaScript и Андроиде (через JS и JF Таскера). Наглядные примеры на JS: Tasker (Пост Graymax #43424823), Tasker (Пост BanHammer[YKT] #38500217). Урок Parsing XML Data из Training Guides for Android developers.
ˇ
12. Механика service call в примерах
- переключение режимов сети 2G/3G/LTE (вызываем метод ITelephony.setPreferredNetworkType сервиса phone) Tasker (Пост Partyzzan #45844577)
- переключение аппаратного наложения, hardware composer (вызываем скрытый метод сервиса SurfaceFlinger, подробности - метод onTransact класса BnSurfaceComposer) Tasker (Пост Alexey711 #42782503)
- управление точкой доступа WIFI (tethering) на Андроиде 7+ - Tasker (Пост slax #62396787) и Tasker (Пост slax #66660280)
Способ получения информации о методах сервисов через интерфейс Java Таскера - Tasker (Пост slax #48226914)
ˇ
13. Работа с базами данных на примере базы данных СМС.
Общее замечание. С базами данных, точнее, с поставщиками контента (content providers) работают через встроенную в Андроид утилиту content (доступна для Андроида 4.1+). При этом надо знать адрес (authority) поставщика и структуру его базы данных. Если утилиты content в вашем Андроиде нет, или если надо предварительно понять структуру базы, используйте sqlite-шелл. Учтите, однако, что работа с базой на запись, минуя поставщика, может привести к ее разрушению. Везде ниже, кроме специально оговоренных случаев, подразумевается действие Run Shell Таскера. Предварительно, конечно, необходимо отладить работу с базой в командной строке. В принципе, для работы с базами данных и поставщиками контента в Таскере есть действие SQL Query, вот только использовать его, не зная структуры базы (поставщика), практически невозможно.
- используя утилиту content, пометить все СМС прочитанными, неотвеченные вызовы - просмотренными Tasker (Пост gavrila #44070856)
- используя sqlite-шелл, пометить все СМС прочитанными Tasker (Пост gavrila #43833031)
- удаление через sqlite-шелл СМС от определенного номера Tasker (Пост Havl #18737162)
- скрипты на SL4A python (действие Run SL4A Script Таскера): один помечает все СМС как прочитанные, другой удаляет отправленные на определенный номер СМС Tasker (Пост Havl #18852990)
Наконец, действия для работы с базой данных СМС существуют в плагине Tasker Utils (удален из Google Play, в теме отсутствует), пример профиля, удаляющего СМС определенного содержания от определенного номера Tasker (Пост brisker #42600445)
ˇ
14. Управление Accessibility Service для приложений.
- пример переключения настройки для Tasker Tasker (Пост R3m #110493840)
- дополнение Tasker (Пост Cross_man #110495289)
Разное
Прошлые версии
Версия: 5.12.21 Tasker (R3m)
Версия: 5.12.20 Tasker (R3m)
Версия: 5.12.18 Tasker (R3m)
Версия: 5.11.14 Tasker (R3m)
Версия: 5.11.13 от 15/01/2021 (iMiKED)
Версия: 5.10.1 Tasker Paid от 06/10/2020 (betmen2)
Версия: 5.9.3 Tasker Paid от 04/08/2020 (betmen2)
Версия: 5.9.2 Tasker (Пост Serg R* #93627176)

Собранные здесь прошлые версии программы интересны только историкам-археологам, исследующим артефакты Цифрового века. Не надо скачивать эти версии, надеясь, что они будут работать. Текущие официальные стабильные версии работают заведомо лучше. А если вам кажется, что вы нашли в них ошибку, лучше обсудить это в теме или написать автору на оф.форум.
версия 5.9 Tasker (Пост Giacomino #91778463)
версия 5.8.2 Paid (Novakin)
версия 5.8 Paid version (Novakin)
версия 5.7.1 Tasker (Пост Giacomino #84894453)
версия 5.6 Tasker (Пост Alex0047 #78316391)
версия 5.5.bf2 Tasker (Пост alen2012 #77827876)
версия 5.2.bf2 Tasker (Пост Alex0047 #74571629)
версия 5.1 Tasker (Пост Alex0047 #69023208)
версия 5.0u7 Tasker (Пост Alex0047 #66567180)
версия 4.8u5 Tasker (Пост Alex0047 #50556293)
версия 4.7u3 Tasker (Пост Alex0047 #41599102)
версия 4.6u3 Tasker (Пост Alex0047 #37216898)
версия 4.5u1 Tasker (Пост nihilihin #34888513)
версия 4.4u3 Tasker (Пост Alex0047 #33631921)
версия 4.3u4 Tasker (Пост Henry1 #31181212)
версия 4.2u3 Tasker (Пост Giacomino #27022916)
версия 4.1u3 Tasker (Пост ScAnMaG #22883929)
версия 4.0u1 Tasker (Пост Oleg V #21050872)
версия 1.3.3u2 Tasker (Пост ScAnMaG #17226665)
версия 1.3.2u1 Tasker (Пост MENNENN #16762182)
версия 1.3.1 Tasker (Пост roly #14920421)
версия 1.3u1 Tasker (Пост skunsofob #14519505)

Ключевые версии Tasker на оф. сайте https://tasker.joaoapps.com/releases/

Если вы хотите помочь развитию темы Tasker, здесь Tasker (Пост R3m #99486981) собран список задач по наполнению шапки и структурированию темы.
p.s. выражается благодарность всем, кто принимал/принимает/будет принимать (и примет!) участие в создании шапки.


Сообщение отредактировал Washerron™ - 06.11.21, 22:48



Реп: (33)
datwm5 @ 10.6.10, 12:07 *
а позицию по базовой станции он умеет определять?

Не пробовал. Даже если нет, то заявлена поддержка плагинов Locale, а там такой плаг точно есть.



Реп: (33)
Опыт показал, что если в контексте есть хоть один Event (типа PhoneIdle или Received SMS), то ExitTask невозможна.
В остальных случаях вроде работает.



Реп: (44)
brake @ 10.6.10, 12:13 *
Event (типа PhoneIdle или Received SMS), то ExitTask невозможна.

Всё немного не так. :)
Сразу надо включить разделение по типам событий: Кнопка <меню> -> Show Context Selector.
После этого всё становится на свои места. В самой правой закладке, там где все хитрые события - выход из них не отлавливается. В первой и второй - Exit Task присутствует, в остальных - не знаю, мне не нужно. ;)



Реп: (33)
Nomad14,
В общем-то я о том же. Просто у меня есть профили, где 2 контекста, например:
Event: PhoneCall
Time: 00:00 - 06:00

А внутри профиля набор задач общий для обоих контекстов. Вот в таком случае и нету ExitTask (а так ее охота :) )

Но, видимо, решается параллельным профилем и приоритетами - надо поэкспериментировать.



Реп: (44)
brake @ 10.6.10, 14:26 *
Просто у меня есть профили, где 2 контекста, например:Event: PhoneCallTime: 00:00 - 06:00

О, вот с этого места поподробнее. :)
Можно последовательность кнопок для создания действия, срабатывающего по двум событиям сразу (логическое "И")? А то я не понял, как это делать - сделал как программист - завёл переменную-флаг. :)



Реп: (33)
Nomad14 @ 10.6.10, 16:14 *
О, вот с этого места поподробнее.

Тапаем на Контексте (не на задаче, как Вы писали ранее, т.е. левее задачи)
В появившемся меню выбираем Context->Add - все, после нелегкого выбора у нас к профилю добавлен второй контекст.

Для ясности в терминологии:
Профиль - все, что нарисовано в отдельном прямоугольнике (совокупность контекстов и задач)
Контекст - кондишен условие, при котором выполняется задача (левый прямоугольник в профиле)
Задача/Task - правый прямоугольник в профиле. Ряд действий, которые выполняются в контексте, к которому привязана задача. Задача м.б. привязана более, чем к одному контексту.

Сообщение отредактировал brake - 10.06.10, 15:36



Реп: (12)
Так понял, что единственная хард кнопка, на которую можно что-либо поставить - камера. Чего делать, если отдельной кнопки под камеру нет?



Реп: (44)
dptundra @ 11.6.10, 9:17 *
Чего делать, если отдельной кнопки под камеру нет?

Вопрос риторический. :) Использовать другие события: например, с помощью плагинов.
Например, Locale Shake Plug-In - можно что-нибудь делать по встряхиванию телефона;
Screebl - по положению телефона в пространстве (по трём осям): Телефон в положении "возле уха" - одно действие, "лицом вниз" - другое и т.д.



Реп: (3)
а как часть программа проверяет правила (если условия по времени и по местоположению)? батарейку сильно?



Реп: (33)
datwm5,
При "равных" настройках батарею жрет не больше, чем Locale. Но это по ощущениям. Тонких замеров не делал.



Реп: (44)
brake @ 11.6.10, 12:43 *
Тонких замеров не делал.

Автор пишет, что по энергосбережению проделал большую работу. В частности, события проверяются в порядке увеличения энергоёмкости - это даёт возможность не запускать энергоёмкие проверки.

Так что я думаю, должно быть точно не хуже чем Locale. Скорее лучше. :)



Реп: (33)
Есть у кого идеи насчет того, как можно менять wallpaper при установке тихого режима (ну и обратно, при отмене тишины)?

Не нашел ни стейта ни ивента похожего на то, что нужно :(

Можно, конечно, замутить профиль под это дело и включать его виджетом, но охота от обратного (ИМХО так красивее, чтобы юзать любой виджет для тишины).

PS: на оф. форуме анонсирована (но не выложена) новая версия

Сообщение отредактировал brake - 14.06.10, 23:37
Причина редактирования: доб. ссылку на анонс новой версии



Реп: (44)
brake @ 14.6.10, 23:20 *
как можно менять wallpaper при установке тихого режима (ну и обратно, при отмене тишины)?

Лично я себе на экран виджет сделал с менюшкой на три пункта: громко, вибро и тихо. Туда же можно и смену обоев впихнуть. :)
Имхо очень удобно. А как ты устанавливаешь режим?



Реп: (33)
Nomad14 @ 15.6.10, 1:02 *
А как ты устанавливаешь режим?


Я использую виджет SwitchPro, и хотел как-то отследить сам момент выключения звука.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 05.12.23, 22:43