sonyps4.ru

Automate — приложение для автоматизации задач на Android. ⇡ Включение функций энергосбережения при низком заряде аккумулятора

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

Напомним, что Android, по сравнению с iOS, дает разработчикам и пользователям заметно большую свободу, с ней можно делать почти все что угодно. Тем не менее, поздние версии операционной системы Google (4.0+) накладывают ограничения на инструменты автоматизации. К примеру, чтобы задействовать функции GPS на полную катушку или переключаться между 2G- и 3G-сетями, нужна Android не выше 2.3 (или прошивка CyanogenMod), а Jelly Bean запрещает регулировать громкость звука. Конечно, напрямую связанные с системными функциями рамки тоже можно обойти, но для этого нужно получать root-доступ к устройству.

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

Например, один из пользователей при помощи мощной утилиты Tasker сделал так, чтобы, подъезжая к даче, Android сам звонил на нужный номер, чтобы открыть ворота с дистанционным управлением. К гаджету при этом можно вообще не прикасаться. А юзер другого приложения, Llama, использует его так: "Прихожу домой — программа включает Wi-Fi и меняет профиль на "Норм". Выхожу из дома — программа выключает Wi-Fi и включает профиль "Громко". В 23:30 выключает модуль GSM (а зачем ночью батарею мотать?), в 6:30 включает GSM. По выходным звуковые оповещения отключены до 11 утра". Так что возможности "автоматизаторов" ограничены лишь вашей фантазией.

Tasker, который мы уже упомянули, — самый богатый функциями инструмент. Интерфейс утилиты разделен на три части: Profiles ("Профили") — здесь указывается перечень условий, согласно которым должно быть совершено какое-то действие, Tasks ("Задачи") — собственно сами действия, которые привязываются к профилям, и Scenes ("Сцены") — визуальный редактор процессов автоматизаций (может быть полезен, если сами создаете приложения).

Есть 6 типов профилей: если запускается приложение, наступает определенный день недели, точное время или какое-то событие, если пользователь приближается к точке на карте (можно задавать радиус и отключать GPS, чтобы сэкономить батарею) или что-то происходит со смартфоном — меняется ориентация, подключается USB-кабель, падает зарядка. Действия могут быть почти какими угодно (выполнить поиск в Интернете, отправить СМС, позвонить, открыть файл и многое-многое другое).

К сожалению, полноценной документации к Tasker нет, и на русский язык она не переведена, так что будьте готовы к тому, чтобы осваивать утилиту самостоятельно. Распространяется она почти за 100 рублей. Перед оплатой рекомендуем ознакомиться с бесплатной trial-версией (до 7 дней), которую можно скачать на сайте разработчика .


Разработчик: Crafty Apps;
Рейтинг Google Play: 4,6 (13 284).

"Автоматизатор", завязанный на геолокации. Определяете зону (дом, работа, дача или любые другие места), указываете профиль (без звука, громкий, тихий или создаете свой) и связываете с ними события в нужный промежуток времени. В целом, принцип работы Llama схож с Tasker: может совершать действия (заблокировать экран, переключить в режим без звука, "убить" все процессы, запустить программу, перезагрузить, уменьшить яркость дисплея и пр.), исходя из времени суток и дня недели, уровня заряда аккумулятора, события в календаре, подключения гарнитуры и т.д.

По сравнению с Tasker, доступных задач в Llama меньше, но есть два бесспорных преимущества: утилита локализована, и имеются предустановленные события (например, "Тихая ночь" — в зоне "Дом" между 22:00 и 06:30 меняет профиль на "Тихий"). Вычисляет местоположение не по GPS, а от сигналов вышек сотовой связи и точек доступа Wi-Fi.

Требуется версия Android: зависит от устройства;
Разработчик: KebabApps;
Рейтинг Google Play: 4,7 (8 525).

Выделяется на фоне прочих утилит простотой и наглядностью. На стартовом экране показываются две секции: "Мои правила" — список личных триггеров/действий, и "Магазин правил" — отсюда можно скачивать уже готовые сценарии, созданные другими пользователями (отключать GPS при загрузке карт, включать вибрацию после полной зарядки батареи, активировать Bluetooth в автомобиле и пр.).

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


Разработчик: SmarterApps Ltd;
Рейтинг Google Play: 4,3 (2 360).

Главная "фишка" AA — возможность цеплять к событию последовательность самых разных действий. Поддерживает правила, которых нет у многих других утилит: если происходит смена SIM-карты, можно записывать происходящее со смартфона в файл, отслеживать координаты и отправлять их себе на почту или делать фотографию при встряске устройства.

В остальном все просто. Создаете "программу", назначаете триггер (крестик слева) и относящееся к нему событие (крестик справа). В Pro-версии (68 рублей) Android Automate доступны некоторые расширенные функции и отключена всплывающая реклама.

Требуется версия Android: от 2.2;
Разработчик: monkeysoft;
Рейтинг Google Play: 3,4 (25).

Подойдет, если вы не хотите создавать профили с нуля, как в Tasker. Можно выбрать и настроить один из пяти готовых ("Нормальный, "Совещание", "Тихий", "Ночной", "На улице"). Например, в "ночном" режиме достаточно расставить переключатели так, как нужно (вибромотор, громкость динамика, белый список контактов, передача данных/Wi-Fi/Bluetooth, яркость, "обои", запуск приложений и т.д.).

Профили включаются сами, если соответствуют какому-то из правил. Например, если вы хотите, чтобы включался режим "На улице" (вместе с GPS), когда вы садитесь в автомобиль, добавьте к правилу условие "Док-станция". Особенность Profile Scheduler — возможность определить нужную громкость звонку или СМС, поступающих от каждого контакта, вне зависимости от выбранного профиля.

Требуется версия Android: от 2.2;
Разработчик: Wetpalm;
Рейтинг Google Play: 4,3 (3 416).

Предназначение этой программы — поддержка NFC-меток в качестве триггеров. Вы можете приклеить "умный" стикер на рабочий стол или приборную панель автомобиля, а когда смартфон окажется рядом сними — утилита выполнит определенное действие. В России комплект из 5 NFC-ярлыков стоит порядка 500-600 рублей.

Что важно, программа позволяет обойтись и без них, использовав Wi-Fi или Bluetooth. Например, если смартфон подключается к домашней или рабочей сети, можно изменить звуковой профиль, потушить яркость дисплея, заблокировать устройство, отправить твит или отметиться в Facebook.

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

Создание профиля мини Шпиона в Tasker

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

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

Пропустили звонок или не прочитали смс, чтобы не пропустить эти события создайте в Tasker повторяющиеся звуковые напоминания!

Разговаривать по телефону на холоде сплошное удовольствие, а еще большее удовольствие быстро успеть снять перчатки и ответить на звонокчтобы он прервался, а бывает что нужно закончить вызов, но экран не загорается и приходится долго ждать чтобы выполнить сброс вызова. Знакомая ситуация? Оказывается в ОС Android давно уже все придумано остается только немного настроить ваш смартфон.

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

Продолжаем серию уроков по TASKER! В данном уроке вы научитесь как включить WI-FI при запуске приложения! Для тех кому интересно, открываем и читаем!

Каждый любит слушать музыку и каждый любит слушать музыку «удобно»! В данной статье будет расписано как сделать удаленное управление Aimp с помощью Android.

Нет ничего ужасного чем громкий и нежелательный звонок ночью или пропущенный важный вызов от босса днем, по причине отключенного звука! Приложение Easy Silencer берет эту работу на себя, чтобы смартфон не звонил в неподходящий момент!

В вашем Android устройстве имеется беспроводная технология передачи данных NFC, но вы к сожалению не знаете для чего она нужна и как ей пользоваться? Мы исправим эту ситуацию!

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

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

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

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

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

⇡ Основная терминология

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

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

X в формуле — это контекст, то есть некое событие или условие, при срабатывании которого Tasker начинает действовать. В приложении предусмотрено несколько видов контекстов: время, дата, место, событие и состояние.

Если смартфон оказался за чертой города, это контекст места, а 7:15 утра — контекст времени. Контекст события — это, например, поступление входящего звонка с указанного номера. А контекст состояния — это некое условие, которое является активным в течение некоторого промежутка времени. И в течение этого времени выполняются заданные действия.

Ни действия, ни контексты не существуют сами по себе. Действиями управляют задачи, а контекстами — профили. Одна задача может содержать любое количество действий, а один профиль — до четырех контекстов и до двух задач. Таким образом, в рамках одной операции можно выполнять целый набор действий.

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

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

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

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

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

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

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

Вернитесь к списку профилей и добавьте в профиль новую задачу.

Нужно будет придумать для нее произвольное название, скажем «Запуск Skype». Добавьте в задачу новое действие. Для удобства организации они разделены по группам, которых более двадцати.

Перейдите в категорию «Сигнал → Menu». Теперь нужно настроить действие. Для этого в поле Items нажмите на кнопку добавления нового элемента, после чего щелкните по кнопке «Действие». Укажите категорию «Приложение → Запустить приложение», а затем выберите Skype в списке всех установленных приложений, который будет выведен на экран.

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

Все задачи, созданные пользователем, сохраняются на вкладке Tasks. Их можно редактировать, а также использовать повторно при создании новых профилей. Список доступных задач показывается каждый раз при добавлении задачи в новый профиль. Кстати, если в списке случайно выбрана не та задача, можно быстро вернуться к окну выбора при помощи кнопки Switch Event. Подобная кнопка — Switch State — отображается и при добавлении контекста.

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

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

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

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

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

⇡ Включение функций энергосбережения при низком заряде аккумулятора

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

Добавьте контекст «Состояние → Зарядка → Уровень зарядки аккумулятора». В его настройках укажите уровень заряда, при котором задача будет срабатывать.

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

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

Можно добавить и другие действия, которые помогут продлить срок автономной работы устройства.

⇡ Звуковой сигнал в случае перегрева аккумулятора

Перегрев аккумулятора может стать причиной выхода устройства из строя, поэтому неплохо было бы узнавать об этом как можно раньше, чтобы адекватно реагировать. Для создания такого профиля используется событийный контекст «Зарядка → Перегрев аккумулятора». Используемая в профиле задача будет включать действие «Сигнал → Уведомление со звуком».

Настройка действия сводится к выбору звукового файла (это может быть любой аудиофайл, хранящийся в памяти устройства или на SD-карте, а также сигнал из коллекции звуков Tasker). Также можно настроить вывод текстового уведомления на экране устройства. Текст нужно ввести в поле «Название».

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

Если устройство оснащено модулем GPS, можно использовать контекст «Место». Он очень полезен для забывчивых. Например, если вы все время забываете зайти в банк, чтобы забрать новую карточку, можно настроить Tasker таким образом, чтобы он прислал вам SMS, как только вы окажетесь в радиусе пятисот метров от отделения.

Контекст «Место» работает на основе карт Google. Когда вы выбираете его, требуется указать координаты банка, а также радиус срабатывания контекста. Чтобы получить SMS с напоминанием, нужно использовать задачу с действием «Телефон → Отправить SMS». В поле «Сообщение» напишите текст напоминания, а в поле «Номер» добавьте собственный номер телефона.

Контекст «Место» может работать и без GPS, с использованием сетевых настроек. Но определение местоположения в этом случае происходит менее точно.

⇡ Автоматический ответ на SMS и пропущенные звонки

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

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

После настройки действия вернитесь к списку профилей и добавьте в профиль второй контекст — «Событие → Телефон → Получено текстовое сообщение».

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

⇡ Включение беззвучного режима при переворачивании смартфона экраном вниз

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

Для создания такого профиля добавьте контекст «Состояние → Sensor → Ориентация». В его настройках раскройте список «Положение» и выберите вариант «Экраном вниз».

Создайте новую задачу с действием «Аудио → Режим тишины». В настройках действия выберите вариант «Тишина» в списке «Режим».

⇡ Заключение

Мы рассмотрели лишь несколько самых простых примеров работы с Tasker. Но программу можно с успехом использовать и в сотнях других случаев. Она может запускать приложения в заданное время, выводить на экран музыкальный плеер, как только вы вставляете наушники в гнездо, поздравлять с днем рождения всех друзей и родственников, автоматически отправляя SMS в нужные дни, будить любимых романтической эсэмэской по утрам и делать еще сотни других вещей, которые обязательно придут вам в голову, как только вы начнете использовать Tasker. Удачи в освоении!

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

Tasker

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

Что ты обычно делаешь при включении громкой связи? Правильно, кладешь телефон на стол. А что, если громкая связь включится сама, когда ты положишь телефон экраном вниз во время разговора? Удобно? Так вот, Tasker позволяет реализовать такое поведение буквально за минуту. Также можно настроить автоматический запуск плеера при подключении наушников, автоматическую отправку SMS, когда доезжаешь до дома, или переключение музыки в плеере встряхиванием телефона. С помощью Tasker все это достижимо в несколько тапов по экрану.

Приложение это платное и стоит 3,49 фунта стерлингов (примерно пять долларов), но прежде чем покупать, можно ознакомиться с программой, скачав trial-версию на семь дней с сайта разработчика tasker.dinglisch.net . Недели будет вполне достаточно: например, лично я без сомнений купил программу всего через два дня использования и уверен, что ты поступишь также. Кстати, учти, что версия с Play Market не имеет функции шифрования из-за ограничений законов США.

Основные понятия

Итак, рассмотрим интерфейс и основные понятия программы. Для начала сменим язык приложения на русский (Меню -> Preferences -> Language) (это делать не обязательно, если основным языком системы выбран русский. - Прим. ред.). Теперь вернемся на главный экран. Он поделен на три раздела: «Profiles», «Tasks» и «Scenes» (скриншот 1).

В разделе «Profiles» отображаются, как понятно из его названия, пользовательские профили.Профиль - это один или несколько Контекстов и привязанная к ним Задача, где контекст - это некоторое условие, такое как, например, переворот телефона экраном вниз, включение GPS или проседание заряда батареи до определенного уровня. Если все контексты профиля становятся активными, то активизируется сам профиль и начинает выполняться Начальная задача профиля. Если хоть один из контекстов профиля становится неактивен, профиль дезактивируется и выполняется Конечная задача.

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

Создаем профиль

Вооружившись знаниями, попробуем создать наш первый профиль: автоматическое включение громкой связи в том случае, если телефон переворачивают экраном вниз. Для создания нового профиля нажимаем кнопку «+» внизу по центру экрана. Появится окошко с приглашением к вводу имени профиля. Имя указывать не обязательно, но рекомендуется, дабы в будущем не запутаться среди профилей (я ввел «Громкая связь»). Далее ты увидишь меню выбора типа первого контекста (скриншот 2). Рассмотрим все типы подробнее:

  • Приложение. Этот тип контекста активен тогда, когда запущено некоторое приложение, и дезактивируется, если приложение закрыть. После выбора этого пункта загружается список установленных приложений, из которых можно выбрать как одно, так и несколько.
  • Время. Здесь можно выбрать время активности контекста, тогда контекст будет активен в течение выбранного промежутка времени. Также можно установить повторение, тогда контекст будет активизироваться на короткий промежуток, повторяясь через указанное время.
  • День. Можно выбрать день месяца или недели, когда контекст активен. Тут все просто.
  • Место. Очень полезный и интересный контекст, активизируется тогда, когда устройство оказывается в некоем радиусе от указанной точки на карте (см. соответствующую врезку).
  • Состояние и событие. События и их особенности мы рассмотрим в следующем примере. Сейчас же нас интересует пункт «Состояние». Этот тип контекста активен, когда устройство пребывает в конкретном состоянии, например в режиме полета, при активном подключении к Wi-Fi-сети или же в положении экраном вниз, что и надо для нашей задачи (да-да, я еще помню о ней:)).

Особенности контекста «Место»

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

Выбираем пункт «Состояние» и видим несколько категорий (скриншот 3). Нам нужна категория «Sensor», а в ней пункт «Ориентация». Далее в выпадающем списке нужно выбрать необходимую ориентацию устройства. В нашем случае следует выбрать «Экраном вниз» и нажать на зеленую галочку. Выскочит меню выбора задачи для заданного контекста. Так как задач у нас пока нет, нажимаем «Новая задача». Вводим название задачи (можно не вводить, но рекомендую) и попадаем в меню редактирования задачи.


Создание задач

Как я уже говорил, задачи - это последовательности действий. Чтобы добавить к задаче действие, следует нажать кнопку «плюс» (скриншот 4). Все действия разбиты на несколько категорий, названия которых говорят сами за себя. Для цели, поставленной нами, нужно выбрать пункт «Аудио», затем выбрать настройку «Громкая связь» и в выпадающем списке - «Включить». Галочка «Если» позволяет навесить дополнительные условия на конкретную задачу (если интересно, подробнее . Нажимаем зеленую галочку - действие добавлено к задаче. Можно добавить еще несколько действий, но в нашем случае это не требуется, так что еще раз нажимаем зеленую галочку, и только что созданная задача становится начальной задачей профиля. Так как громкая связь является настройкой, то после дезактивации контекста она будет отключена.


Теперь наш первый профиль готов, но пока еще малоэффективен; постоянная проверка положения смартфона быстро «выест» батарею. Чтобы обойти эту проблему, добавим к профилю еще один контекст: долгое нажатие на уже существующем контексте, «Добавить -> Состояние -> Телефон». Выбираем контекст «Call», который активен во время звонка. В выпадающем меню можно выбрать тип звонка, выбираем «Any», конкретный номер не указываем. Теперь, когда в профиле два контекста, Tasker выполняет их проверку в порядке увеличения энергоемкости, то есть сначала будет проверен «Call» и, если он неактивен, проверка остановится, что сохранит нам батарею. Профиль готов! Можешь проверить. Позвони, а затем положи телефон экраном вниз, и вуаля - громкая связь включилась, теперь подними - выключилась. Захватывающе, правда?

Переключение музыки в плеере встряхиванием телефона

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

Приступим к реализации нашего профиля. Добавляем новый профиль (не забываем дать ему имя) и выбираем для него контекст «Событие». Выбираем категорию событий «Sensor», а затем «Shake». Выставляем нужные нам значения осей, чувствительности и продолжительности. Для этого профиля нам нужно создать новую задачу - создаем! В окне редактирования задачи нажимаем плюс; нам нужна категория «Медиа» и действие «Упр. Медиаплеером». Выбираем нужную команду управления и заканчиваем создание задачи. Добавим еще один контекст к профилю (на этот раз это контекст «Приложение») и выберем из списка наш плеер. Теперь опрос сенсора будет происходить только при включенном плеере. Все, данный профиль готов, можешь проверить.

Scripting Level for Android

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

SL4A (Scripting Level for Android) - это среда исполнения (и создания) скриптов для Android на языках Python, JavaScript, Perl, Ruby, Lua, BeanShell и Tcl. В скриптах может быть использован API Android через специальную обвязку вокруг стандартного JSON RPC платформы Android, благодаря чему из скриптов можно вызывать функции телефонии, отправлять SMS, получать данные с GPS, камеры и акселерометров, формировать GUI. Скриптовым языком де-факто для этой платформы считается Python, и мы возьмем на вооружение именно его.

Для начала работы необходимо скачать и установить SL4A и Python . После установки Python запускаем его и нажимаем на кнопку «Install», чтобы скачались все необходимые библиотеки для работы на Android.

Для примера напишем несколько простых скриптов. Можно делать это прямо на устройстве, но можно писать и на обычном компе, а потом скидывать код в каталог SL4A/Scripts на карте памяти. Для создания нового скрипта запускаем SL4A, вызываем меню и нажимаем «Add», в появившемся списке выбираем «Python». Попадаем в окно создания скрипта. В верхнее поле вводим имя, внизу у нас уже написано две строчки кода:

Import android droid = android.Android()

Этот код просто импортирует библиотеку для работы с API и создает объект, с помощью которого API будет нам доступен. Разобрать все функции API или даже их четверть нереально в одной статье, поэтому будем рассматривать необходимые нам функции в процессе создания скриптов (полное описание API есть во встроенной справке SL4A или же . Первой функцией, которую мы рассмотрим, будет makeToast: она просто отображает уведомление. Дописываем две строки к коду:

# Выводим уведомление и сообщение в консоль droid.makeToast("Hello world!") print("Hi from Python")

Уровнем выше

Теперь заскриптим что-нибудь поинтересней. Давай попробуем научить смартфон анализировать последнее входящее SMS-сообщение на наличие некоторых команд, выполнять их и выдавать ответ об успешно выполненной операции. Для примера пусть у нас будет всего одна команда play music, после получения которой будет проигран определенный медиафайл.

Import android droid = android.Android() # Получаем список всех сообщений msgs = droid.smsGetMessages(False).result # Нас интересует последнее полученное сообщение lastmessage = msgs # Ищем команду в тексте сообщения if "play music" in lastmessage["body"]: # Проигрываем указанный файл droid.mediaPlay("/sdcard/music/track.mp3") # Отправляем ответ об успешном выполнении # Первым параметром является номер абонента, # вторым - текст сообщения droid.smsSend(last.address, "Command complete")

Можно зациклить эту проверку, но гораздо эффективнее получится, если связать выполнение этого скрипта с событием Tasker «Получено текст. сообщ.» из раздела «Телефон».

Рассмотрим более полезный скрипт. Знаю, что у многих (в том числе у меня) есть проблема с отображением кириллических символов в ID3-тегах MP3-файлов. Удобного решения этой проблемы я так и не нашел, поэтому и написал скрипт. Для его работы мне потребовалась сторонняя библиотека Stagger . Кстати, из SL4A можно использовать любые сторонние pure Python библиотеки, просто копируя их в каталог com.googlecode.python.python3forandroid/extras/python3 на карте памяти. Полный код скрипта с подробными комментариями можно найти на прилагаемом к журналу диске, здесь же ограничусь только кодом, который перебирает MP3-файлы на карте памяти:

# Перебираем все MP3-файлы на карте for(dirName, dirs, files) in os.walk(r"/sdcard"): for filename in files: try: if filename.endswith(".mp3"): pathname = os.path.join(dirName, filename) # Ну а дальше идет работа с тегами…

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

INFO

  • Количество контекстов и действий Tasker можно существенно расширить, используя плагины. Найти их можно, вбив в поиске Маркета «Locale plugin».
  • SL4A - не единственный скриптовый движок для Android. Рекомендую также обратить внимание на Kivy .
  • Если ты пишешь скрипты на компьютере, то тебе не обязательно каждый раз копировать скрипт на устройство. Есть средства удаленного выполнения.
  • Профили, созданные в Tasker, можно упаковывать в APK-пакеты с помощью Tasker App Factory . Аналогичное решение для SL4A .
  • Если функции SL4A возвращают абракадабру, попробуй проделать со строкой такой трюк: .encode(‘cp1251’).decode(‘utf8’).

Взаимодействие с пользователем

SL4A предоставляет нам разные способы взаимодействия с пользователем: webViews (HTML5 + JavaScript), fullScreenAPI (подробнее можно почитать в моей статье и dialogAPI, который мы вкратце и рассмотрим. Опять же полный код примера можно увидеть на диске, а здесь только часть, касающаяся dialogAPI. Я не сказал, что за скрипт? Он отправляет выбранные пользователем фотки на FTP-сервер.

# Используем модуль glob для извлечения списка изображений в filesNames ... # Создаем диалог, указывая его заголовок и текст droid.dialogCreateAlert("Выбор файлов", "Выберите файлы для отправки") # Следующей строкой добавляем к диалогу флажки droid.dialogSetMultiChoiceItems(filesNames) # А здесь добавляем кнопки droid.dialogSetPositiveButtonText("OK") droid.dialogSetNegativeButtonText("Отмена") # И наконец, показываем диалог droid.dialogShow() # Проверяем, какая кнопка была нажата (positive, negative или neutral) if droid.dialogGetResponse().result["which"] == "positive": # Получаем индексы выбранных флажков res = droid.dialogGetSelectedItems().result # Используя ftplib, отправляем файлы на сервер...

Что дальше?

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



Загрузка...