«А есть ли в iOS что-то подобное Tasker?» — зачастую этот вопрос сводит на нет любые споры о мобильных операционных системах. Ни в iOS, ни в Windows Mobile нет инструмента, даже издалека напоминающего это приложение. Для многих продвинутых пользователей Tasker уже давно стал инструментом из разряда must have, способным заменить десятки платных приложений. Ему посвящены целые сайты и форумы, но в нашем журнале о Tasker писали всего один раз.

Что такое Tasker? Это инструмент автоматизации смартфона, позволяющий запрограммировать реакцию устройства на то или иное системное и не очень событие. Tasker, например, может отреагировать на переворот смартфона экраном вниз и в ответ отключить звук. Он может сработать в момент падения уровня заряда батареи до 30% и перевести смартфон в режим 2G. С помощью Tasker можно запрограммировать включение GPS в ответ на запуск приложения Google Maps или включение режима полета по ночам.

Практически любое системное событие, связанное с сенсорами или состоянием устройства, может быть использовано Tasker для запуска того или иного действия, приложения, вывода на экран информации или генерации диалоговых окон с различными элементами управления. По уровню возможностей Tasker уже превратился в полноценную визуальную среду программирования, которая может быть расширена за счет многочисленных плагинов, доступных в маркете.

Хочешь создать свои собственные голосовые команды? Нет проблем, в маркете есть плагин AutoVoice. Нужна возможность автоматического удаленного управления другим устройством или ПК? Для этого есть AutoRemote. А как насчет доступа к низкоуровневым настройкам Android? К твоим услугам Secure Settings.

 

Как работает Tasker

Как я уже сказал ранее, принцип работы Tasker основан на реакции на определенные события и изменения состояния смартфона. В терминологии Tasker они называются контекстом. К контексту можно привязать ту или иную задачу, которая состоит из одного или нескольких действий. Действием может быть что угодно, от запуска приложения до изменения определенных настроек. В том случае, если речь идет о продолжительном контексте (с девяти утра до пяти вечера, местоположение и прочее), а не одиночном событии (запуск приложения, например) может существовать также и «выходная задача», которая сработает после завершения контекста.

Вместе связка из контекста, задачи и последовательности действий называется профилем. Сразу после запуска Tasker предложит создать первый профиль — нажать «плюс» внизу экрана и выбрать нужное событие или контекст (например, время). Далее он предложит привязать к нему задачу, дать ей имя и определить нужные действия. После определения действий профиль станет активным. В любое время ты сможешь экспортировать профиль и выложить в сеть, чтобы другие смогли использовать его.

Кроме профилей, контекстов и задач, в Tasker есть понятие «сцена». Это своего рода заскриптованные диалоговые окна с кнопками, слайдерами и другими элементами интерфейса Android. Сцену можно создать с помощью визуального редактора, располагающегося на третьей вкладке главного экрана Tasker, а затем связать с контекстами и задачами, получив таким образом почти полноценное приложение. С помощью Tasker App Factory его можно упаковать в APK-пакет и выложить в Google Play.

Набор встроенных в Tasker действий можно существенно расширить с помощью сторонних плагинов, которые в огромном количестве доступны в Google Play. О некоторых из них я уже сказал выше, другие мы рассмотрим позже. Плагины Tasker есть в комплекте многих известных приложений, так что их тоже можно автоматизировать. В частности, Tasker способен управлять такими приложениями, как Screen Filter, Rsync Backup, Folder Sync, DashClock.

 

Как работает Tasker?

В своей работе Tasker использует две ключевые особенности Android: обмен сообщениями и открытый характер ОС. В отличие от многих других ОС компоненты Android почти не связаны друг с другом и для общения используют систему сообщений. Сообщения могут как предназначаться отдельно взятому приложению/классу, так и иметь широковещательный характер (broadcastIntent), что позволяет принять их любому установленному приложению.

Широковещательные сообщения используются в Android в том числе для таких задач, как уведомление приложений о системных событиях: низкий уровень заряда батареи, включение/отключение GPS, получение SMS и так далее. Изначально все это было придумано для более слаженной работы системы и сторонних приложений, но Tasker использует такие сообщения для реализации идеи «контекста».

Кроме этого, Android достаточно открыт для сторонних приложений, позволяя им в том числе управлять яркостью дисплея, включать те или иные настройки, самостоятельно запускать приложения и многое другое. Эта особенность ОС позволяет Tasker реализовать идею «задач» и «действий», а вместе с концепцией «контекстов» они образуют «профили», то есть наборы действий, которые выполняются в ответ на системное событие.

В iOS и Windows Phone аналог Tasker не может существовать по причине малой осведомленности приложений о системных событиях и серьезных ограничений на управление системой из сторонних приложений.

 

Must have профили

Начнем с самых простых, но зачастую жизненно необходимых профилей. Создать их можно за несколько секунд, а пользы будет много. Вот те, что в разное время так или иначе использовал я.

— По уровню возможностей Tasker уже превратился в полноценную визуальную среду программирования

  • С помощью Tasker App Factory профили можно упаковать в APK-пакет и выложить в Google Play
  • Существуют десятки переменных, которые позволяют получить самую разную информацию, начиная от статуса Bluetooth и заканчивая текущей частотой работы процессора

Управление взмахом

В некоторых фирменных прошивках уже есть функция управления взмахом, которая позволяет переключать композиции или отвечать на звонок, встряхнув смартфон. Само собой, сходную функциональность можно повторить и с помощью Tasker. Вот алгоритм настройки:

Контекст: Событие -> Sensor -> Shake -> Axis: Left-Right
Задача: Экран -> Блокировать

Это описание профиля, который будет отключать экран после тряски смартфона в руке влево-вправо (Axis: Left-Right). В качестве задачи можно привязать и любые другие доступные в Tasker действия. Например, «Аудио -> Громкая связь» или «Телефон -> Начать разговор». Можно также настроить запуск приложения с помощью «Приложение -> Запустить приложение».

Включение режима полета по ночам

Нет никакого смысла держать смартфон включенным ночью. С другой стороны, автоматическое включение по утрам настроить тоже нельзя (такая функция есть только в китайских смартфонах), но можно ставить на ночь режим полета. Чтобы проделать такое с помощью Tasker, придется установить плагин Secure Settigs (начиная с Android 4.2 Google заблокировала возможность управлять режимом полета сторонним приложениям), а дальше настроить профиль таким образом:

Контекст: Время -> с 1:00 до 7:00
Задача: Плагин -> Secure Settings -> Root Actions -> Airplane Mode

Для выбора действия в самом плагине следует нажать на значок карандаша рядом с надписью «Конфигурация». Вместо режима полета можно использовать «Аудио -> Режим тишины» для включения беззвучного режима.

После установки Secure Settings следует активировать модуль System+
После установки Secure Settings следует активировать модуль System+

Запуск плеера при подключении наушников

Один из самых популярных профилей. Конфигурация:

Контекст: Состояние -> Аппаратура -> Наушники подключены
Задача: Приложение -> Запустить приложение -> Выбираем нужный плеер

Также в задачу можно добавить дополнительное действие, регулирующее громкость (Аудио -> Громкость воспроизведения).

Управление яркостью

На отдельных устройствах, которые не часто выносишь на улицу (например, планшетах), яркость удобнее регулировать вручную. А еще удобнее с помощью Tasker. На моем планшете, например, есть два профиля:

Контекст: Время -> с 9:00 до 20:00
Задача: Экран -> Яркость дисплея -> 100
Контекст: Время -> с 20:01 до 8:59
Задача: Экран -> Яркость дисплея -> 0

В дневное время суток яркость устанавливается на треть от максимальной (максимальная — это 255), в остальное время — на минимум. Естественно, автоматическое управление яркостью следует отключить.

Запуск USB-тизеринга при подключении к ПК

Идеальный вариант для тех, кто часто проводит время вне дома с ноутбуком за плечом. Очень простой и полезный профиль:

Контекст: Состояние -> Подключено по USB
Задача: Сеть -> Интернет по USB

 Набор задач на все случаи жизни
Набор задач на все случаи жизни

Сохранение энергии при достижении 30-процентного уровня заряда батареи

Честно говоря, я не поклонник таких методов энергосбережения, но многим, как говорится, нравится. Смысл в том, чтобы заставить смартфон автоматически отключать 3G, GPS, Wi-Fi и устанавливать минимальную яркость дисплея при достижении критического уровня заряда.

Контекст: Состояние -> Уровень зарядки -> от 0 до 30
Задача:
Экран -> Яркость дисплея -> 0
Сеть -> Моб. данные -> Только 2G
Сеть -> Статус Wi-Fi -> Выключить
Плагин -> Secure Settings -> System+ Actions -> GPS -> Off
Стандартные профили
Стандартные профили

 

 

Автоматизация в зависимости от местоположения

Очевидно, что в зависимости от твоего местоположения смартфон должен действовать по-разному. Например, вне дома должен быть включен пин на экране блокировки и GPS, в то время как Wi-Fi можно отключить. Дома пин блокировки не нужен, зато нужен Wi-Fi и высокая громкость звонка (чтобы ты смог услышать смартфон, подключенный к заряднику, находясь на кухне). На работе/учебе лучше включить режим вибрации, а в некоторых случаях настроить автоматический ответ на SMS.

Tasker имеет в своем распоряжении несколько способов определения местоположения. Это информация от спутников GPS, информация от сотовых вышек, факт подключения к Wi-Fi-сети с определенным именем или даже нахождение рядом с такой Wi-Fi-сетью. Наиболее экономичный и универсальный из них — это информация от вышек, однако при не слишком плотном покрытии сети они могут давать неточную информацию с разбросом в несколько километров. В этом случае лучше применять ориентирование по Wi-Fi-сетям. Даже в постоянно включенном состоянии Wi-Fi гораздо экономичнее модуля GPS, который не сможет уснуть, если его будет постоянно дергать Tasker.

Далее я привел три разных профиля Tasker для дома, улицы и работы, основанные на ориентации по Wi-Fi-сетям. Профиль для дома:

Контекст: состояние -> сеть -> подключено к Wi-Fi-сети -> имя сети
Задача:
Аудио -> Громкость звонка -> 7
Сеть -> Автосинхронизация -> Выключить
Плагин -> Secure Settings -> System+ Actions -> GPS -> Off
Плагин -> Secure Settings -> Root Actions -> Wireless ADB -> On
Плагин -> Secure Settings -> Dev Admin Actions -> Password/Pin -> Disabled

Что делает этот профиль: устанавливает максимальную громкость звонка, отключает автосинхронизацию (зачем получать уведомления о письмах дома?), отключает GPS, включает ADB по Wi-Fi (для управления смартфоном с ПК) и отключает пин-код. Следующий профиль для улицы:

Контекст: состояние -> сеть -> подключено к Wi-Fi-сети -> «если не»
Задача:
Аудио -> Громкость звонка -> 4
Сеть -> Автосинхронизация -> Включить
Плагин -> Secure Settings -> System+ Actions -> GPS -> On
Плагин -> Secure Settings -> Root Actions -> Wireless ADB -> Off
Плагин -> Secure Settings -> Dev Admin Actions -> Password/Pin -> Enabled

Профиль устанавливает настройки, противоположные профилю «Дома». Последний профиль «На работе/учебе»:

Контекст: Состояние -> Сеть -> Подключено к Wi-Fi-сети -> Имя сети
Задача:
Аудио -> Режим тишины -> Вибрация
Сеть -> Автосинхронизация -> Включить
Плагин -> Secure Settings -> System+ Actions -> GPS -> Off

Здесь включается вибрация вместо звонка, синхронизация остается включенной, GPS отключается. В некоторых из этих профилей (особенно в последнем) удобнее будет использовать ориентацию по сотовым вышкам. Для этого контекст достаточно заменить на «Место». Откроется карта, и на ней можно будет выбрать точное местоположения и радиус срабатывания контекста. Кнопку GPS внизу лучше выключить.

 

Антивор собственного приготовления

В маркете есть масса самых разных приложений для защиты от кражи смартфона. Ни в коем случае не буду настаивать на их удалении и замене на Tasker, а просто покажу, как повторить ту же функциональность с возможностью точно подогнать ее под собственные нужды. Сделать это очень легко. Вот простейший профиль.

Контекст: Телефон -> Получено текст. сообщение -> Тип: SMS, Отправитель: «+7...», Содержание: «locate»
Задача:
Плагин -> Secure Settings -> System+ Actions -> GPS -> On
Task -> Ждать -> 30 секунд
Разное -> Получить координаты -> Источник: любой
Телефон -> Отправить SMS -> Номер: «+7...», Сообщение: «Date: %DATE %TIME. Battery: %BATT. Location: %LOC»

При получении SMS с номера +7… с сообщением «locate» смартфон включит GPS, заснет на 30 секунд (чтобы смартфон смог найти спутники), получит координаты и отправит их на указанный номер в таком формате: «Date: дата время. Battery: процент заряда. Location: координаты». Для получения точного местоположения на карте координаты достаточно будет вбить в Google Maps.

Обрати внимание, что для формирования SMS мы использовали переменные. Их устанавливает и обновляет сам Tasker, поэтому переменные можно использовать в любом текстовом поле внутри приложения. Кроме перечисленных здесь, существуют десятки других переменных, которые позволяют получить самую разную информацию, начиная от статуса Bluetooth и заканчивая текущей частотой работы процессора (их описание можно найти здесь).

Профиль можно расширить и модифицировать для отправки SMS каждые пять минут (для этого можно использовать действие «task -> for», реализующее цикл), включить блокировку смартфона с помощью пина, как показано в предыдущем примере, заставить смартфон позвонить на нужный номер (Телефон -> Позвонить), сделать снимок (Медиа -> Фотоснимок) и отправить его с помощью MMS (Телефон -> Создать SMS). При желании можно создать веб-приложение и общаться с ним с помощью HTTP POST и GET (Сеть -> HTTP Post)!

«Задача» антивора состоит всего из четырех действий
«Задача» антивора состоит всего из четырех действий
 

WWW

  • Большое количество статей о Tasker на английском: goo.gl/cPJJs9
  • Описание переменных Tasker на английском: goo.gl/1f9RDl
  • О том, как использовать Tasker в связке с часами Pebble: goo.gl/cBzycn
  • Множество примеров использования AutoRemote: goo.gl/3mFgz
 

Управление голосом

У Google есть превосходный анализатор голоса, который по умолчанию работает только в связке с Google Now. Но мы можем использовать его и для создания профилей для Tasker, получив возможность запускать нужные нам действия с помощью голоса. Для этого понадобится плагин AutoVoice стоимостью один доллар и совсем чуть-чуть смекалки. Простейший пример профиля с использованием AutoVoice будет таким:

Контекст: Состояние -> Плагин -> AutoVoice Recognized -> Event Behaviour: On, Command Filter: «Ответ на главный вопрос жизни»
Задача: Сигнал -> Экстренное сообщение -> Текст: «42»

Этот профиль сработает тогда, когда AutoVoice распознает фразу «Ответ на главный вопрос жизни». Чтобы запустить сам механизм распознавания, можно использовать виджет AutoVoice, который выводит на экран стандартный диалог «Говорите…» и по результатам распознавания запускает нужный профиль. Другой способ: создать новый профиль, который сработает, например, при разблокировке экрана и запустит действие «Плагин -> AutoVoice Recognize». В этом случае диалог будет выведен автоматически.

Еще более интересный способ использования AutoVoice — это механизм «постоянного распознавания», который работает все время, пока включен экран смартфона. В этом случае команды можно будет произносить когда угодно, и, если AutoVoice их распознает, автоматически сработает нужный профиль. Чтобы включить «постоянное распознавание», необходимо активировать доступ внешних приложений в настройках Tasker (Настройки -> Разное -> Разрешить внешний доступ), а затем включить в AutoVoice настройку «Continous -> Toggle Listener». Недостаток метода: постоянный обмен данными с Google (или необходимость переключения на offline-движок распознавания речи).

Главный экран AutoVoice
Главный экран AutoVoice
 

INFO

  • AutoVoice зависит от приложения «Google Поиск» и без него работать отказывается.
  • AutoVoice способен интегрироваться в Google Now. Чтобы заставить его сделать это, необходимо установить фреймворк Xposed и скачать Google Now API через настройки AutoVoice.
  • Tasker можно связать с виджетом Minimalistic Text, чтобы выводить на него собственную информацию.
 

Удаленное управление

AutoRemote — еще один интересный плагин от автора AutoVoice. Он позволяет управлять смартфоном удаленно множеством разных способов, таких как веб-интерфейс, плагин для браузера, приложение для Windows/Linux, или с помощью другого смартфона на базе Android или iOS. С помощью AutoRemote можно создать профили, которые будут срабатывать при получении сигнала извне либо генерировать такой сигнал в результате какого-либо системного события. Две копии AutoRemote, установленные на разные устройства, позволят им обмениваться информацией в автоматическом режиме, в том числе с возможностью пересылки уведомлений, сообщений и активации определенных функций на одном смартфоне в ответ на событие на другом.

Сразу предупрежу, что стоимость плагина составляет четыре доллара, однако в маркете есть и бесплатная версия, единственное ограничение которой — длина команд до двух символов. В большинстве случаев этого будет вполне достаточно для отдачи таких команд, как «Отключить смартфон» или «Получить координаты» (для этого и одного символа хватит), но в случае реализации возможности пересылки уведомлений, получения со смартфона информации и организации чего-то вроде чата придется раскошелиться.

Как и плагин из предыдущего раздела, AutoRemote — это еще и полноценное приложение. После его запуска на экране появится ссылка и QR-код. Ссылку можно открыть в браузере, чтобы получить доступ к веб-интерфейсу управления смартфоном, а QR-код отсканировать другим смартфоном c установленным AutoRemote и связать два гаджета в сеть. Далее AutoRemote можно начинать использовать в своих профилях.

Для примера соединим с помощью AutoRemote планшет (имя в AutoRemote: tablet) и телефон (имя: phone) и создадим набор профилей, с помощью которых смартфон будет сообщать планшету, что он получил SMS. На смартфоне создаем такой профиль:

Контекст: Событие -> Телефон -> Получено текстовое сообщение
Задача: Плагин -> AutoRemote Message -> Device: "tablet", Message: "ss"

На планшете:

Контекст: Состояние -> Плагин -> AutoRemote -> Event Behaviour: On, Message Filter: "ss"
Задача: Сигнал -> Уведомление -> Название: "SMS", Текст: "Получено SMS"

Теперь, когда на смартфон придет SMS, на планшете появится уведомление. Имея полную версию AutoRemote, профили можно расширить, включив в отправляемое сообщение информацию об отправителе и текст сообщения (переменные %SMSRF и %SMSRB).

Главный экран AutoRemote с QR-кодом и ссылкой на веб-интерфейс Веб-интерфейс управления AutoRemote
Главный экран AutoRemote с QR-кодом и ссылкой на веб-интерфейс Веб-интерфейс управления AutoRemote
 

Выводы

Tasker делает смартфон по-настоящему умным устройством. С помощью него и множества плагинов можно запрограммировать практически любой аспект работы устройства. Показанные в статье примеры лишь малая часть того айсберга, который скрывается за простым и приятным пользовательским интерфейсом.

 

Оставить мнение

Check Also

В Google Play снова нашли малварь, объединявшую устройства в рекламный ботнет

Специалисты Symantec обнаружили в приложениях из Google Play вредоноса Sockbot, который об…