Tasker примеры. Используем Tasker на полную катушку

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

«А есть ли в 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

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

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

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

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

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

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

На отдельных устройствах, которые не часто выносишь на улицу (например, планшетах), яркость удобнее регулировать вручную. А еще удобнее с помощью 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.

Контекст: состояние -> сеть -> подключено к 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)!

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

У 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-движок распознавания речи).

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


Выводы

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

Продвинутый планировщик. Позволяет по разным событиям производить действия/списки действий. Похож на Locale, только намного более мощный. Есть возможность создавать виджеты с произвольным списком действий.

Основной список событий :

  • Отслеживание активности сервисов приложений
  • Запуск и завершение работы приложения
  • Запуск выбранной activity приложения (долгий тап на приложении в списке выбора)
  • Запрос пользователем помощи в приложении или системе
  • Наступление определенного времени и/или даты, а также дня, недели, месяца, дня месяца или недели, дня месяца или недели, последнего дня месяца
  • Наступление и окончание определенного периода времени
  • Наступление и окончание события в календаре, будильнике
  • Вход в географическую зону (определяемую с помощью GPS или по сотовым вышкам и точкам доступа WIFI) и выход из нее
  • Подключение аппарата к определенной сотовой вышке (из заданного списка вышек)
  • Установление и разрыв соединения в определенном режиме мобильной передачи данных: 2G, 3G, 4G и других
  • Достижение и потеря определенного уровня приема сигнала сотовой сети
  • Обнаружение определенной (или любой) точки доступа WIFI, подключение к ней и отключение от нее
  • Включение и выключение режима "в самолёте"
  • Включение и выключение адаптеров Bluetooth, NFC и WIFI
  • События аппаратной клавиатуры (открыта-выдвинута/закрыта-задвинута)
  • Нажатие некоторых аппаратных клавиш, в том числе расположенных на наушниках (проводных или беспроводных)
  • Нажатие на программные кнопки и некоторые другие элементы пользовательского интерфейса Андроида и сторонних программ
  • Входящий или исходящий звонок, ответ на входящий, завершение разговора
  • Получение СМС (MMS)
  • Успешная отправка СМС (MMS) и ошибка при его отправке
  • Пропущенный звонок, СМС (MMS)
  • События от различных встроенных датчиков (освещенности, приближения к объекту, ориентации, перемещения, магнитного поля, давления, температуры, влажности, шагомера)
  • Подключение и отключение зарядного устройства (проводного, беспроводного, питания от шины USB)
  • Достижение определенного уровня заряда батареи, разрядка батареи ниже определенного уровня, изменение уровня заряда батареи
  • Включение и выключение заставки экрана (Android Daydream)
  • Подключение к компьютеру по шине USB и отключение от него
  • Подключение к аппарату устройств USB и их отключение
  • Подключение и отключение SD карты
  • Окончание загрузки Андроида и начало выключения аппарата
  • Включение и выключение экрана, разблокирование экрана
  • Старт и завершение пользовательской сессии
  • Создание, изменение и удаление файла на SD карте
  • Подключение и отключение проводных или беспроводных наушников, устройств Bluetooth и USB
  • Подключение к автомобильной или настольной док-станции, телевизору, часам и отключение от них
  • Пространственное перемещение аппарата заданным определенным образом - жест
  • Встряхивание аппарата
  • Наступление определенного системного события в Андроиде - прием интента (intent)
  • Изменение системной даты, времени, часового пояса
  • Добавление, обновление и удаление приложения
  • Возникновение определенного или любого окна (обыкновенного, всплывающего, диалогового)
  • Появление уведомления от приложения в системной панели уведомлений и выбор пользователем такого уведомления

Основной список действий :

  • Управление режимом "в автомобиле"
  • Управление режимом "в самолете", в т.ч. выборочное отключение радиомодулей
  • Регулировка громкости, в т.ч. отдельных потоков: звонка, сигнала тонального набора (DTMF), разговора по телефону, в т.ч. через bluetooth-гарнитуру, будильника, мелодий, уведомлений
  • Управление проигрыванием рингтонов и вибрацией при входящих звонках
  • Ответ на входящий звонок ("поднять трубку")
  • Управление беззвучным режимом
  • Управление настройками экрана: яркостью, в т.ч. режимом автоматической яркости, ориентацией, длительностью периода бездействия до блокировки, в т.ч. при наличии зарядки
  • Получение информации о характеристиках экрана: размеры экрана, его разрешение, текущая настройка автоматической ориентации
  • Установка обоев на главном экране
  • Управление блокировкой экрана: включение и выключение блокировки, в т.ч. принудительное включение блокировки
  • Управление режимом автосинхронизации
  • Управление режимом звукового сопровождения нажатий на аппаратные и программные кнопки, режимом тактильной навигации (haptic feedback)
  • Управление светодиодами, в т.ч. режимом светодиодной подсветки при выводе уведомлений Андроидом и сторонними приложениями
  • Управление ночным режимом
  • Включение и выключение адаптеров Bluetooth, NFC, WIFI, WiMax, GPS, сети мобильной связи, в т. ч. управление режимами передачи данных в сети мобильной связи
  • Получение информации о сетевом подключении (тип подключения, наличие доступа к мобильной передаче данных), о параметрах сети WIFI (MAC-адрес адаптера, уровень сигнала, имя точки доступа), Bluetooth, Ethernet
  • Установка имени устройства в сети bluetooth
  • Включение и выключение различных режимов передачи данных через NFC, в т.ч. Android Beam и NFC Payment
  • эмуляция нажатий на кнопки в т.ч. и несуществующие на аппарате, например, эмуляция джойстика - "универсальная кувалда", которой делается практически все
  • эмуляция ввода текста
  • Захват в исключительное использование некоторых аппаратных кнопок
  • Закрытие системных диалогов
  • Вставка события в календарь
  • Получение информации о записях в календаре
  • Звонок на определённый номер
  • Управление исходящими звонками на определенные номера: блокировка звонков и их переадресация
  • Создание писем, СМС и MMS
  • Отправка СМС
  • Получение информации о контактах в телефонной книге
  • Запуск приложений, в т.ч. журнала звонков, контактов (с выбором определенных контактов), карт (с выбором определенного местоположения), диалога выбора языка ввода, приложений, обеспечивающих разделение интернет-трафика по шине USB и по WIFI (tether)
  • Получение информации об установленных приложениях и компонентах приложений (activities, сервисах, ресиверах)
  • Управление панелью уведомлений: ее вывод и сворачивание
  • Управление режимом Interrupt Mode
  • Добавление нового будильника
  • Запуск системного секундомера
  • Выбор приложения СМС по-умолчанию
  • Принудительное завершение приложений
  • Управление музыкальным проигрывателем, в т.ч. встроенным, в т.ч. формирование списка воспроизведения
  • Проигрывание аудиофайлов, встроенных рингтонов в т.ч. с выбором звукового потока
  • Получение информации об аудиофайлах: название, исполнитель, время воспроизведения
  • Активирование вибрации, в т.ч. по заданному шаблону
  • Управление встроенным микрофоном, в т.ч. запись звука с него
  • Операции с каталогами и файлами: создание, копирование, перемещение, чтение (получение списка файлов в случае каталогов), проверка существования файла, чтение атрибутов файла: размера, прав доступа, времени модификации, запись, удаление, архивирование в zip архив, извлечение из zip архива, шифрование и расшифровка)
  • Работа с изображениями: изменение размеров, обрезка, поворот, применение фильтра
  • Настройка рингтонов по умолчанию для звонков, будильника, уведомлений
  • Определение текущего местоположения (по GPS или по сотовым вышкам и точкам доступа WIFI)
  • Подключение к сети Ethernet и отключение от нее
  • Вывод сообщений, обыкновенных и всплывающих диалогов, меню, списков (в действительности, возможно построение произвольных графических пользовательских интерфейсов посредством сцен
  • Вывод уведомлений в панель уведомлений, в т.ч. сопровождаемых светодиодной подсветкой или звуковыми извещениями, вибрацией
  • Отмена собственных уведомлений
  • Распознавание и синтез речи
  • Переход на домашний экран, в т.ч. с определенным номером
  • Получение идентификатора текущего пользователя
  • Работа с web-серверами: получение и отправка содержимого, не обязательно в формате htmlзапуск сценариев на shell, javascript, SL4A
  • Использование конструкций языкa Java и вызов функций языка Java и Андроида (через механизм Java reflection)
  • перемонтирование разделов на внутренней или внешней карте памяти
  • Запуск принудительного сканирования системой SD карты
  • Отправка произвольного системного события - интента (intent)
  • Добавление содержимого в буфер обмена
  • Фотосъемка
  • Управление фотовспышкой
  • Операторы для организации управления в программах: создание и изменение переменных, массивов, оператор если-то-иначе, циклы, вызов подпрограмм (в действительности, даже сопрограмм), математические функции, поиск и замена по шаблону, в т.ч. с использованием регулярных выражений

Оба этих списка далеко не полны. Во-первых, набор событий и действий Таскера может быть расширен за счет подключения сторонних плагинов, тысячи их. Во-вторых, используя эмуляцию аппаратных и программных клавиш или запуская скрипты на шелл и SL4A можно выполнить практически любое действие. А кроме того, есть еще прием и посылка интентов.

Сцены

Сцены позволяют добавить графический пользовательский интерфейс к задачам. То есть если Вы мечтали об оранжевых кнопках на малиновом фоне, сцены Таскера - именно то, что Вам нужно, для воплощения Вашей мечты.
В действительности, малиновый фон, конечно, никто не использует. Почти. А вот, например, сделать прозрачный фон окна, окно разместить поверх строки состояния, а в само окно вывести текст с зарядом батареи. Заманчиво? Еще бы.

Список элементов интерфейса

  • button - кнопка
  • checkbox – флажок (тот самый элемент отмечая галочкой в пункте мы меняем тот или иной параметр).
  • Doodle – поле где элемент мы можем нарисовать на экране
  • Image - картинка
  • map – gps карта
  • Menu - меню с прокручиваемым списком всех добавленных нами пунктов
  • Number Picker - выбор номера (как например в настройке даны в андроид. Крутящийся барабан)
  • oval - графический элемент овал.
  • Restangle – графическая фигура
  • slider - так называемый ползунок (изменение громкости в настройках например сделано в виде ползунка)
  • spiner – выпадающее меню
  • text – отображение текста
  • textEdit – поле ввода, редактирования текста
  • toggle – кнопка включения \ выключения (как например включение wi-fi в настройках
  • webview – просмотр web страничек (стандартными средствами андроид)

Берем элементы интерфейса, перечисленные выше, комбинируем по-разному, задаем ширину, высоту, цвета, чтобы было нескучно. Такой набор и называется сценой.

1. Начинаем с определения размеров сцены (вкладка Scenes ), нажимаем (+) вводим имя нашей сцены, затем в визуальном редакторе сцен увеличиваем/уменьшаем область сцены до необходимых нам размеров
2. Теперь можем наполнять созданную сцену своими элементами

На скриншоте выше изображение магнитолы (все эти кнопки, колесики, оранжевый экран в центре) установлено фоновой картинкой для нашей сцены (set as background). В сцену добавлены элементы интерфейса с прозрачным фоном (пунктирные линии на картинке - границы элементов). Для создания более реалистичного интерфейса (прорисовать нажатую клавишу, например), придется нарисовать (стырить) картинку для каждого графического элемента (в нескольких вариантах, нажатая и не нажатая кнопка). А эти картинки установить фоном для каждого элемента в отдельности, тогда фон сцены можно залить одним цветом.
4. Подписываем кнопки (Text). На скриншоте ниже - диалог Таскера для редактирования кнопки LIGHT (она - в центре ряда кнопок, расположенных сразу под оранжевым экраном). На кнопки назначаем действия по вкусу на нажатия (Tap), долгое нажатие (Long Tap)

К середине этого года количество официальных приложений в магазине Google Play перевалило за миллион. Одним из самых функциональных приложений на сегодняшний день является Tasker. Несмотря на то, что данное приложение относится к категории «Игры», пользователям требуется не мало времени на то, чтобы освоить его.


Tasker стабильно занимает лидирующие позиции среди платного программного обеспечения в Google Play.

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

Приложение Tasker на сегодняшний день является не единственным инструментом для автоматизации процессах на устройствах, работающих на операционной системе Android. Такие же возможности дают программы Locale, on{x} и другие. Однако, столь функциональных приложений как Tasker на сегодняшний день больше не существует. Обладая определенными навыками, с помощью Tasker можно задавать абсолютно любые сценарии автоматизации, которые содержат множество уровней. При помощи Tasker можно создавать даже собственные приложения.

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

Основные термины

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

Действие может автоматически выполняться при определенных условиях. В качестве действия может выступать отправка сообщения SMS, вывод на экран уведомления или отключение звука при входящем звонке. Пользователю доступно всего около 200 различных действий. У большинства из них имеются настройки, которые могут быть связаны между собой. В задаваемой формуле X представляет собой контекст, условие или некое событие, при возникновении которого программа автоматически начинает действовать.

Кроме того, в программе предусмотрено несколько типов контекстов: место, время, дата, состояние, событие. Если действие необходимо выполнить, когда смартфон находится за городской чертой, это контекст места. Если действие необходимо выполнять в 8:15 каждое утро – это контекст времени. В качестве примера контекста события можно привести входящий звонок с определенного номера телефона, а примером контекста состояния – определенное действие, которое остается активным в течение некоторого времени.

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

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

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

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

Начало работы

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

В качестве примера попробуем создать простой профиль, который будет автоматически включать приложение Skype при подключении к устройству гарнитуры. Для этого на вкладке профиля необходимо нажать кнопку для создания нового элемента приложения и выбрать контекст «Аппаратура» — «Наушники подключены». На вкладке профилей нажмите на кнопку создания нового элемента приложения и выберите контекст состояния «Аппаратура → Наушники подключены». В списке «Тип» выберите вариант «С микрофоном», чтобы приложение реагировало только на подключение гарнитуры.

Теперь можете вернуться к списку профилей и добавить новую задачу. Для нее можно использовать любое произвольное название. К примеру, «Запуск Skype». В задачу добавьте новое действие. Для обеспечения удобства организации они разделены по группам, которых всего более 20. Затем перейдите к категории «Сигнал» — «Меню». Здесь необходимо настроить нужное действие. Чтобы это сделать, нажмите в поле Items на кнопку добавления нового элемента. Теперь можно щелкнуть по кнопке с надписью «Действие».

После этого укажите категорию «Приложение» и выберите пункт «Запустить приложение». После этого в списке установленных приложений выберите Skype. Вот и все новый профиль готов к использованию. Все новые профили в Tasker по умолчанию включаются сразу же после создания. Если вы пока не планируете использовать вновь созданный профиль, используйте переключатель, расположенный напротив названия профиля. Все созданные пользователем задачи сохраняются на вкладке Tasks.

Задачи можно отредактировать и повторно использовать при создании нового профиля. Каждый раз при добавлении задач в новый профиль показывается список доступных задач. Если в данном списке случайно была выбрана не та задача, то быстро вернуться к окну выбора можно, используя кнопку Switch Event. При добавлении контекста отображается подобная кнопка Switch State.

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

Запуск задач при помощи виджета в ручном режиме

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

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

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

Активация режима энергосбережения при низком уровне заряда аккумулятора

Многие функции смартфонов довольно удобны, но в то же время они достаточно сильно сказываются на времени автономной работы устройства. Если нет возможности зарядить мобильное устройство, можно при помощи приложения Tasker настроить автоматическое отключение некоторых функций. Для этого необходимо использовать контекст и задачу, которая будет состоять всего из нескольких действий. Добавьте следующий контекст: «Состояние» — «Зарядка» — «Уровень зарядки аккумулятора».

В настройках укажите уровень заряда аккумулятора, при котором должна срабатывать задача. Создайте новую задачу, добавьте в нее действие «Экран» — «Яркость дисплея». Снизьте яркость до необходимого уровня. После этого вернитесь к добавлению действий и добавьте следующее. Можно выбрать «Сеть» — «изменить статус Wi-Fi». После этого убедитесь, что в настройках выбран статус «Отключить». После сохранения настроек при низком заряде аккумулятора Tasker будет автоматически отключать Wi-Fi.

Можно отключить автосинхронизацию. Для этого необходимо добавить действие «Сеть» — «Автосинхронизация». В списке «Установка» необходимо выбрать вариант «Выключить». Можно также добавить и другие действия, продлевающие время автономной работы смартфона.

Подача звукового сигнала при перегреве

По причине перегрева мобильное устройство может вообще выйти из строя. Неплохо было бы узнавать о возможности перегрева как можно раньше, чтобы успеть адекватно отреагировать на данную ситуацию. Чтобы задать такой профиль, можно использовать событийный контекст «Зарядка» — «Перегрев аккумулятора». В профиле можно использовать задачу следующего типа: «Сигнал» — «Уведомление звуком». Настройка действия будет сведена к выбору звука. Можно выбрать любой аудиофайл, который хранится на SD-карте или в памяти устройства. Можно также настроить вывод текстового уведомления на экран. В поле «Название» нужно ввести текст.

Отправка уведомлений на основе текущего местоположения

Если используемое вами мобильное устройство оснащено GPS-модулем, вы можете использовать для настроек контекст «Место». Для забывчивых пользователей это очень полезная функция. Так, например, если вы все время забываете зайти в банк и получить новую карточку, вы можете настроить Tasker так, чтобы в том случае, если вы будете находиться поблизости от отделения банка программа автоматически отправила вам уведомление. Контекст место может функционировать также на основе Google-карт.

Для этого вам нужно будет указать координаты банковского отделения, а также радиус срабатывания контекста. Для того, чтобы настроить получение SMS-уведомлений, вам необходимо будет использовать задачу с действием «Отправить SMS». Затем введите в поле «Сообщение» необходимый текст и вставьте в графу «Номер» свой телефон. Работа контекста места также может осуществляться на основе сетевых настроек. Но при этом определение местоположения будет осуществляться с меньшей точностью.

Пропущенные звонки и автоматический ответ на SMS-сообщения

Чтобы реализовать в приложении Tasker некоторые действия, могут использоваться такие объекты, как переменные. Без них никак не обойтись в том случае, если вы планируете использовать смартфон в качестве автоответчика, рассылающего сообщения по всем номерам, с которых поступали звонки или были получены SMS –сообщения. Предположим, что рассылка сообщений должна осуществляться только время от времени, когда самостоятельно вы не можете ответить, например, ночью или в нерабочее время. Чтобы реализовать такое задание в профиле, необходимо использовать два контекста. Вам потребуется создать сложное условие запуска действий: «Если я получаю сообщение, когда я работаю или сплю, необходимо выполнить следующее…». Кстати говоря, нельзя использовать один профиль и для ответов на звонки, и для смс. Поступление сообщений и входящих звонков – два разных контекста. Одновременно в одном способе они использоваться не могут.

Чтобы выставить временные ограничения, добавьте контекст «Время» и выставьте тот период времени, в течение которого контекст будет активен. После этого создайте задачу «Телефон» — «Отправить СМС». В поле «Сообщение» необходимо ввести тот текст, который будет автоматически отправляться в SMS –сообщениях. После того, как все настройки действия будут выполнены, вернитесь к списку профилей и добавьте второй контекст в профиль «Событие» — «Телефон» — «Получено сообщение».

Для создания подобного профиля для ответа на пропущенные голосовые вызовы, необходимо клонировать профиль, а затем выполнить некоторые настройки. Для этого перейдите к настройкам контекста «Получено текстовое сообщение» и измените их на «Событие» — «Телефон» — «Пропущен вызов». После этого можно вернуться к списку профилей и перейти к настройкам действия. В поле «Номер» необходимо ввести «%CNUM». Сообщение будет отправляться на тот же номер, с которого был совершен входящий звонок.

Первая статья из цикла, направленного на превращение обычного смартфона в настоящий продвинутый гаджет для истинного гика.
Цель этого цикла статей - научить максимально автоматизировать действия, связанные со смартфоном и показать интересные сферы применения смартфону.
Таскер-это мощнейший инструмент автоматизации действий телефона и его взаимодействия с окружающим миром.
Можно выполнять различные действия как реакцию на приложения (запуск/остановка), время, дату, смену местоположения, показателей датчиков телефона или событий (в том числе различных плагинов).
В первой части цикла будут рассмотрена возможность добавления своих команд в Google Now и выполнение различных действий после распознавания команды, что может вывести домашнюю автоматизацию на новый уроверь.

Google Now

На данный момент Google Now поддерживает ограниченный список голосовых команд, которые можно найти на официальной страничке поддержки . В одном из предыдущих обновлений включили поддержку распознавания фразы «OK, Google» на русском языке.

Затем добавили распознавание фразы на любом экране (раньше было только на рабочем столе и в карточках Google Now), хотя официально работает пока только на Английском. На хабре уже была статья с доступными командами да и на YouTube есть много видео с примерами.
С помощью голоса можно набирать смс, звонить, создавать заметки и ставить таймер/будильник и т.д… Но что делать, если этого не достаточно и хочется добавить свои команды? Например «Выключи вайфай» до сих пор не работает даже на английском. Просто отправляет в настройки.
Если интересно как добавить практически любую голосовую команду для Google Now без наличия рут прав (сразу оговорюсь, только на поддерживаемых аппаратах), прошу под кат. Это добавит практически безграничные возможности домашней автоматизации да и просто поможет облегчить жизнь и высвободить время.

Итак, функция активного прослушивания команд на рабочем столе доступна для андроида начиная с версии 4.2. На более низких версиях необходимо нажимать на значок микрофона принудительно.
Если произнести «Ок, гугл. Выключи вайфай», то нам сначала покажут карточку и через пару секунд откроется окно с настройками вайфай, где надо нажать кнопку для выключения.

AutoVoice
Основная программа, с помощью которой мы будем реагировать на голосовые команды и управлять окружающими предметами, устройствами, другими гаджетами да и просто совершать действия на самом смартфоне. Будет встречаться практически во всех последующих частях.

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

Нажимаем карандаш в правом верхнем углу, нажимаем Speak Filter и диктуем фразу, на которую мы хотим реагировать. Например «выключи вайфай». На выбор распознавание выдаст 5 вариантов, нажимаем на более правильный. Нажимаем кнопку назад и должны увидеть такую картинку:

Нажимаем еще раз назад. Для самого действия/Task выбираем Сеть/Net - WiFi- и смотрим чтобы вверху стояло Выкл/Off. Нажимаем 2 раза назад и видим такую картину (4й сверху профиль).

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

Напоследок видео от создателя многих интересных плагинов к таскеру - Joao Dias:

UPD1:
Небольшое дополнение для рутованных телефонов.
Если поставить xposed framework и мод Ok Google for 3rd party activities, то можно настроить срабатывание ключевой фразы из любого приложения уже сейчас (на самом деле уж месяца 2 назад, до того как гугл выкатил обнову для англоговорящих).
UPD2:
У кого не обеспечивается интеграция с Google Now: если есть рут, то можно перехватывать команды через модуль к xposed framework - Google Search / Now API , который поддерживает плагин AutoVoice. Для работы необходимо его ставить первым, т.к. если AutoVoice уже установлен, то удалить и поставить заново. И так делать после каждого обновления модуля.

А вы знаете что ваш Android смартфон это не просто телефон который просто звонит и отправляет смски и, что на него можно возложить определённые задачи которые он будет выполнять сам!

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

Почему Tasker?

На данный момент приложение представляет, наиболее широкие возможности, автоматизации, ценой запутанности и не удобства. Есть аналогичные программы такие как AutomateIt или Llama или Locale, данные программы более интуитивно понятны но по возможностям автоматизации уступают.

Где взятьTasker?

Скачать всегда новую версию приложения можно в официальном магазине Google Play или с нашего сайта .

Знакомство с Tasker

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

Главный экран программы разделятся на три раздела.

1. Профили

2. Задачи

3. Сценарии

Что это за разделы, рассмотрим ниже.

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

Задачи - это то что должно быть выполнено если произошло какое либо событие.

Сценарии - это графическое представление профиля и задач.

Как понять как работает программа чтобы создавать различные сценарии автоматизации

Происходит событие - выполняется задача или сделали действие - выполнилась задача.

Например: Садится батарея (это контекст ) ->мелодия оповестила вас об этом (задача) или включили приложение Google Maps (это контекст ) -> включился GPS (это задача).

Какие бывают Контексты - виды контекстов

Временные (ВРЕМЯ ) - задать в определенное время или промежуток времени задачу которая будет выполняться.

Календарные (ДЕНЬ ) - в определенный день что-то произойдет

Местоположение (МЕСТО ) - выполнение задачи в зависимости от вашего местоположения

Приложение - при активации будет происходить какая то либо задача

Событие - это не предсказуемые действия или действия которые вы не в силах контролировать, после которых должна выполниться задача

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
К чему снится — обворовали К чему снится — обворовали Совместимость знака телец в любви и браке Парень телец с каким знаком лучшая совместимость Совместимость знака телец в любви и браке Парень телец с каким знаком лучшая совместимость Презентация на тему Презентация на тему "проблема общественного прогресса"