Создайте предупреждения «нет сети» привязывания с помощью Tasker. Он сообщит вам, когда ваше соединение прервется. Уведомления для носимых и подключенных устройств
Из прошлой статьи вы знаете, что в поезде я провожу довольно много времени. Это отличное время, чтобы написать пару статей, при условии, что у меня есть доступ к Интернету для поиска фактов и идей. В поезде с привязкой может быть сложно, так как на моем маршруте разбросаны зоны без стойки регистрации. Мне довольно легко сказать, что я собираюсь отключиться от сети, когда я нахожусь в туннеле, но ситуация менее очевидна, когда поезд курсирует по открытым лугам Северного Йоркшира. Встроенное в Android решение для привязки не может сообщить вам, что вы не сможете загрузить этот веб-сайт в течение следующих 5 минут.
Вот почему, как поклонник Tasker, я задумался о том, как решить свою проблему с помощью популярного приложения для автоматизации Android. Я решил свою проблему, создав предупреждение о привязке «нет сети» с помощью Tasker. Цель проекта — сообщить вам, когда ваш телефон больше не находится в зоне действия сотовой сети. Это будет сделано 3 способами:
- Использование светодиодного индикатора уведомлений (лучше всего подходит для привязки друзей)
- Использование значка смартфона (нужны умные часы)
- Использование push-уведомления (лучше всего подходит для персональных устройств — можно заменить на AutoRemote)
Вы можете проявить больше творчества с уведомлениями, однако я буду использовать только отдельные варианты, поскольку модем, скорее всего, будет использоваться в общественных местах. Никто не любит неприятные уведомления, верно? Имейте в виду, что для отображения уведомлений на подключенном устройстве будет использоваться подключение к Интернету. Вы могли бы использовать Автодистанционное управление (через Bluetooth) для отправки предупреждений при отсутствии сети. Для этого потребуется сопряжение рассматриваемого устройства через Bluetooth.
Тебе понадобится:
Версия Андроид: 4.0+, для плитки уведомлений требуется Android 7.0
Программы: Присоединиться
Плагины: АвтоВеар (необязательный), Автодистанционное управление (может заменить Join), Автоуведомление (необязательный)
Включите предупреждение о привязке «нет сети» с помощью Tasker
Вместо проверки включения модема проще заменить плитку в строке состояния на Автоуведомление и настройте поведение переключения. Если у вас не Android 7.0, вы можете вместо этого использовать ярлык или виджет.
Если вы никогда не включали плитку с Автоуведомление - вы увидите, что это немного неловко. Вам нужно будет создать задачу настройки, которая преобразует плитку шаблона в плитку по нашему выбору. Поместите пустую плитку, т.е. Автоуведомление 02 в область плиток (нажмите «Изменить», чтобы редактировать видимые плитки).
Создайте плитку привязки
Привязывающая плитка
Tile SetupA1: AutoNotification Tiles [ Configuration: Tile: 2
Command: hotspottoggle
Label: Hotspot
Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal
State: 1
Require Unlock: false
Hide Notifications: true Timeout (Seconds):60 ]
A2: Variable Set [ Name:%HotspotVariable To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]
A3: Variable Set [ Name:%HotspotDialog To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]
читать далее
Вам нужно будет запустить это только один раз, чтобы настроить плитки и переменные. Плитка будет использовать команду переключение горячей точки чтобы изменить состояние привязки и сделать ее неактивной. При нажатии также будет свернута строка состояния. Вы можете украсить плитку меткой по вашему выбору и значком.
Будут созданы еще две переменные, которым присвоено значение 0. %HotspotVariable отобразит статус привязки (0 = нет, 1 = да) и %ХотспотДиалог отобразит диалоговое окно с вопросом, какое устройство мы хотим уведомить (0 = не показывать, 1 = показывать диалог).
Переключатель модема
Переключатель модема
Hotspot ToggleA1: Variable Add [ Name:%HotspotDialog Value: 1 Wrap Around: 2 ]
A2: AutoNotification Tiles [ Configuration: Tile: 2
Command: hotspottoggle
Label: Hotspot
Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal
State: 999
Require Unlock: false
Hide Notifications: true Timeout (Seconds):60 ]
A3: WiFi Tether [ Set: Toggle ]
A4: Perform Task [ Name: Hotspot Dialog Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop: Off ] If [ %HotspotDialog ~ 1 ]
A5: Wait [ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]
A6: Variable Add [ Name:%HotspotVariable Value: 1 Wrap Around: 2 ]
A7: Variable Clear [ Name:%HotspotDevice Pattern Matching: Off ] If [ %HotspotVariable ~ 0 ]
читать далее
Я хочу отображать диалоговое окно только тогда, когда включена модем. В диалоговом окне будут показаны некоторые мои устройства, и я смогу установить цель для уведомлений. В каждом случае я настрою свой модемный телефон так, чтобы индикатор уведомлений быстро мигал каждый раз, когда сигнал плохой.
При нажатии на плитку она меняет статус на активный. %ХотспотДиалог изменяется на 1, и это запускает Диалог горячей точки задача. Пока мы выбираем наше устройство, профили Hotspot активируются установкой переменной %HotspotVariable до 1. Когда я снова нажимаю на плитку, чтобы завершить привязку, Диалог горячей точки возвращается к 0 и больше не запрашивает отображение диалогового окна, а %HotspotVariable установлено нейтральное значение 0.
А1, А6
Действие Переменная Добавить +1 изменит значение наших начальных переменных с 0 на 1 и обернет его вокруг 2. Это означает, что эти переменные всегда будут принимать значения 1 или 0. Размещение действия также имеет значение, так как %ХотспотДиалог будет контролировать время отображения диалогового окна. Мы запускаем одну и ту же задачу, чтобы отключить и включить привязку, но мы не хотим, чтобы диалоговое окно появлялось каждый раз, когда мы его переключаем.
А7
Пока мы этим занимаемся, если будет выполнена задача по отключению tether(%HotspotVariable = 0), мы хотим очистить переменную, в которой хранится имя устройства, которое получает уведомление от задачи «Диалоговая точка доступа».
А5
Ждать добавлено действие, предотвращающее немедленное отображение информации о плохом радиусе действия, что может произойти при переключении настройки точки доступа.
А3
Просто переключить привязь Wi-Fi действие. В этом шаге нет ничего сложного.
А4
Отображается отдельная задача, чтобы показать Диалоговое окно «Автоинструменты» и действия по выбору, который я сделал. Это запустится, когда наша управляющая переменная диалога %ХотспотДиалог = 1.
А2
Когда переключатель нажат, мы хотим быть уверены, что плитка переключает состояние активный/неактивный и сохраняет ту же команду: переключение горячей точки. Наконец, убедитесь, что строка состояния свернется.
Диалоговое окно «Горячая точка»
Диалоговое окно «Горячая точка»
Hotspot DialogA1: AutoTools Dialog [ Configuration: Dialog Type: List
Title: Enable poor network notification?
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png
List Type: 1
Texts: Tablet, Mobile, Computer, Watch, Laptop
Text Size: 20
Images: /storage/emulated/0/Tasker/Material Icons/ic_tablet-1.png,/storage/emulated/0/Tasker/Material Icons/ic_cellphone_android-1.png,/storage/emulated/0/Tasker/Material Icons/ic_desktop_mac-1.png,/storage/emulated/0/Tasker/Material Icons/ic_watch-1.png,/storage/emulated/0/Tasker/Material Icons/ic_laptop-1.png
Image Width: 50
Dim Background: true
Number Of Columns: 3
Top Margin: 16
Bottom Margin: 16
Bottom Buttons Top Margin: 16
Bottom Buttons Bottom Margin: 16
Close On Select: true
Separator: ,
Command Variable: atcommand
Cancelable: true
Turn Screen On: true Timeout (Seconds):60 ]
A2: Variable Set [ Name:%HotspotDevice To:%attext Recurse Variables: Off Do Maths: Off Append: Off ]
читать далее
Диалоговое окно «Автоинструменты» используется для отображения доступных устройств. Когда устройство выбрано, диалоговое окно закроется и установит значение %HotspotDevice к названию этого устройства. Эта переменная очищается каждый раз, когда привязка прекращается.
Плохой прием/нет данных
Плохой прием/нет профилей данных
читать далее
Я создал 2 профиля, которые будут проверять уровень сигнала и подключение к Интернету. Каждый из них контролируется переменной %HotspotVariable и активен только при включенном модеме. Оба профиля запускают одну и ту же задачу при активации и деактивации. Один содержит контекст состояния (мощность сигнала), а другой — мобильную сеть. В идеале соединение все еще будет присутствовать на момент выдачи уведомления. Вот почему я включаю в условие профиля уровень сигнала, равный 1.
Слабый сигнал
Слабый сигнал
Profile: Poor Reception (91)State: Variable Value [ %HotspotVariable ~ 1 ]
State: Signal Strength [ From: 0 To: 1 ]
Enter: PoorSignal (89)
A1: AutoNotification [ Configuration: Use HTML: false
Title: Poor reception
Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell
Status Bar Icon: device_access_network_cell
Status Bar Text Size: 16
Id: 55
Priority: -1
Persistent: true
Is Group Summary: false
LED Color: red
LED On: 300
LED Off: 30p
Skip Picture Cache: false
Update Notification: false
Only on Phone: true Timeout (Seconds):20 ]
A2: Join Send Push [ Configuration: Device: Chrome@Laptop
Text: Poor range
Title: Poor reception
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]
A3: Join Send Push [ Configuration: Device: Chrome@Home
Text: Poor range
Title: warning
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]
A4: Join Send Push [ Configuration: Device: Tablet
Text: Poor range
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]
A5: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Show
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]
Exit: Cancel (90)
A1: AutoNotification Cancel [ Configuration: Id: 55
Cancel All: false Timeout (Seconds):0 ]
A2: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Hide
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]
Profile: No Data (92)
State: Variable Value [ %HotspotVariable ~ 1 ]
State: Mobile Network [ 2G: On 3G: Off 3G - HSPA: Off 4G: Off ]
Enter: PoorSignal (89)
A1: AutoNotification [ Configuration: Use HTML: false
Title: Poor reception
Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell
Status Bar Icon: device_access_network_cell
Status Bar Text Size: 16
Id: 55
Priority: -1
Persistent: true
Is Group Summary: false
LED Color: red
LED On: 300
LED Off: 30p
Skip Picture Cache: false
Update Notification: false
Only on Phone: true Timeout (Seconds):20 ]
A2: Join Send Push [ Configuration: Device: Chrome@Laptop
Text: Poor range
Title: Poor reception
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]
A3: Join Send Push [ Configuration: Device: Chrome@Home
Text: Poor range
Title: warning
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]
A4: Join Send Push [ Configuration: Device: Tablet
Text: Poor range
Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]
A5: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Show
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]
Exit: Cancel
A1: AutoNotification Cancel [ Configuration: Id: 55
Cancel All: false Timeout (Seconds):0 ]
A2: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Hide
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]
читать далее
Автоуведомление уведомление создается на телефоне, но только для того, чтобы мигал светодиод. Выберите другие значения уведомления по своему вкусу и установите быстрое мигание светодиода (у меня вкл/выкл 300 мс) желаемого цвета. Идея состоит в том, чтобы отображать дискретную информацию, а не полностью агрессивное оповещение при пробуждении экрана. Уведомление сохраняется как постоянное уведомление с ID 55.
Далее следует Присоединяйтесь к пушу для каждого вашего устройства. Выберите Присоединяйтесь к пушу для каждого устройства и используйте условие IF, чтобы соответствовать значению %HotspotDevice переменная.
Настройте Присоединяйтесь к пушу действие для отправки уведомления по вашему выбору. Поскольку эти уведомления будут отклонены на целевом устройстве, никаких других действий не требуется.
Умные часы
Профиль умных часов
Profile: Remove Watch IconEvent: AutoWear Command [ Configuration: Command Filter: closepoorrange
Case Insensitive: false
Exact: true
Regex: false
Variable Array: false ]
Enter: Close WearIcon (55)
A1: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Hide
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ]
читать далее
Вы заметите, что я изменил способ работы уведомлений для умных часов. Ничего из вышеперечисленного не появится на моих часах. Единственное, что я хочу показывать на своих часах — это небольшую иконку, которую по желанию можно убрать.
Создайте значок, используя Плавающие значки AutoWear Manage *(необходимо зайти в приложение AutoWear) и проверить размер и расположение часов на часах. Значок будет отображаться на любом экране, поэтому убедитесь, что он содержит команду для его закрытия. я использовал закрытьбедныйдиапазон и назвал значок плохой диапазон. Размер моего значка — 30х30 пикселей, он расположен на 65% справа и на 20% сверху.
Если вас устраивает размер и расположение, воспользуйтесь Приложение AutoWear действие, чтобы отобразить значок, и условие ЕСЛИ, чтобы связать его с %HotspotDevice переменная.
Отмена
Отмена
Cancel (90)A1: AutoNotification Cancel [ Configuration: Id: 55
Cancel All: false Timeout (Seconds):0 ]
A2: AutoWear App [ Configuration: Execute Now: true
Trigger Event: true
Haptic Feedback: true
Name: App
AutoWear Elements: Hide
AutoWear Element Id: poorrange
Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]
читать далее
Чтобы прекратить мигание светодиода и убрать плавающий значок с часов, я воспользуюсь простым Отмена автоматического уведомления действие с идентификатором моего уведомления (55), чтобы выполнить Приложение AutoWear действие, которое скрывает плавающий значок.
Умные часы имеют дополнительный профиль, который убирает плавающий значок при нажатии на него. Для этого я использую Команда AutoWear событие 'закрытьбедныйдиапазон’, затем я запускаю отдельную задачу, которая содержит практически то же действие, что и Отмена задача.
Мы надеемся, что вам понравится это наше маленькое творение, и дайте нам знать, если вы считаете, что мы можем внести какие-либо улучшения! Как всегда, скачать проект можно, перейдя по ссылке ниже.
Загрузите файл проекта с предупреждением о привязке «Нет сети» здесь!
Чтобы импортировать предупреждения о привязке «нет сети» с помощью файла проекта Tasker, загрузите указанный выше файл и сохраните его в любом месте во внутренней памяти. Откройте Tasker и убедитесь, что в меню настроек отключен «режим новичка». Затем нажмите и удерживайте значок «домой» в левом нижнем углу и нажмите «Импорт». Найдите файл prj.xml, который вы сохранили ранее, и выберите его, чтобы импортировать. Теперь вы увидите новую вкладку в нижнем ряду, содержащую все профили и задачи, на которые мы ссылались в этой статье.