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