Използвайте Tasker, за да уведомявате, когато вашите свързани устройства загубят достъп до интернет

Създайте предупреждения за тетъринг „няма мрежа“ с Tasker. Той ще ви уведоми, когато връзката ви прекъсне. Известия за носими и свързани устройства

От последната статия знаете, че прекарвам голяма част от времето си във влак. Моментът е отличен да напиша статия или две, при условие че имам достъп до интернет, за да търся факти и идеи. Привързването може да е трудно във влака, тъй като зоните без рецепция са разпръснати по маршрута ми. Намирам за доста лесно да разбера, че съм на път да изляза офлайн, когато съм в тунел, но ситуацията е по-малко очевидна, когато влакът обикаля през откритите ливади на Северен Йоркшир. Вграденото решение за тетъринг на Android няма начин да ви уведоми, че няма да можете да заредите този уебсайт през следващите 5 минути.

Ето защо, като любител на Tasker, помислих как да реша проблема си с помощта на популярното приложение за автоматизация на Android. Реших проблема си, като изградих предупреждение за тетъринг „няма мрежа“ с помощта на Tasker. Целта на проекта е да ви уведоми, когато телефонът ви вече не е в обхвата на клетъчната мрежа. Това ще стане по 3 начина:

  • Използване на светодиод за известия (най-добро за привързване за приятели)
  • Използване на икона на смартфон (необходим е смарт часовник)
  • Използване на Join push (най-добро за лични устройства - може да бъде заменено с AutoRemote)

Можете да бъдете по-креативни с известията, но аз ще използвам само отделни опции, тъй като тетърингът е най-вероятно да се използва на обществени места. Никой не харесва неприятните известия, нали? Моля, имайте предвид, че известията ще използват интернет връзка, за да се покажат на свързаното устройство. Бихте могли да използвате AutoRemote (чрез Bluetooth), за да изпращате предупреждения, когато мрежата не присъства. Това ще изисква въпросното устройство да бъде сдвоено чрез Bluetooth.

Ще имаш нужда:

Версия на Android: 4.0+, Android 7.0 е необходим за плочката за известия

приложения: Присъединяване

Плъгини: AutoWear (по избор), AutoRemote (може да замени Join), Автоматично известяване (по избор)


Активирайте предупреждение за тетъринг „няма мрежа“ с Tasker

Вместо да проверявате дали тетърингът е активиран, по-лесно е да замените плочка в лентата на състоянието с Автоматично известяване и задайте поведение на превключване. Ако не използвате Android 7.0, можете вместо това да използвате пряк път или изпълним модул.

Ако никога не сте активирали плочка с Автоматично известяване - ще видите, че това е малко неудобно. Ще трябва да създадете задача за настройка, която ще преобразува шаблонна плочка в плочка по наш избор. Поставете празна плочка, т.е. Автоматично известяване 02 върху зоната с плочки (щракнете върху редактиране, за да редактирате видимите плочки).

Създайте плочка за тетъринг

Плочка за връзване

Tile Setup

A1: 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 ]

Прочетете още

Ще трябва да изпълните това само веднъж, за да настроите плочките и променливите. Плочката ще използва команда hotspottoggle за промяна на състоянието на тетъринг и ще го зададе като неактивно. Освен това ще свие лентата на състоянието след натискане. Можете да обличате плочката с етикет по ваш избор и иконата.

Ще бъдат създадени още две променливи и зададени на 0. % HotspotVariable ще покаже състоянието на връзката (0 = не, 1 = да) и % Hotspot Dialog ще покаже диалогов прозорец, който ни пита какво устройство искаме да уведомим (0 = не показвай, 1 = показвай диалоговия прозорец).

Превключване на тетъринг

Превключване на тетъринг

Hotspot Toggle 

A1: 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 ]

Прочетете още

Искам да показвам диалогов прозорец само когато тетърингът е активиран. Диалоговият прозорец ще покаже някои устройства, които притежавам, и ще ми позволи да задам целта за известията. Във всеки случай ще настроя телефона си за тетъринг да мига светодиода за известяване бързо всеки път, когато приемането е лошо.

При натискане на плочката тя променя състоянието на активно. % Hotspot Dialog се променя на 1 и задейства HotspotDialog задача. Докато избираме нашето устройство, профилите на Hotspot се активират чрез задаване на променливата % HotspotVariable до 1. Когато натисна отново плочка, за да прекратя тетъринга, HotspotDialog се връща на 0 и вече не подканва диалоговия прозорец да бъде показан, и % HotspotVariable е настроен на неутрална стойност 0.

A1, A6

Действието Променлива Add +1 ще промени стойността на нашите начални променливи от 0 на 1 и ще я увие около 2. Това означава, че тези променливи винаги ще приемат стойности 1 или 0. Разположението на действието също е уместно, както и % Hotspot Dialog ще контролира кога се показва диалоговият прозорец. Изпълняваме същата задача, за да деактивираме и активираме тетъринга, но не искаме диалоговият прозорец да се появява всеки път, когато го превключваме.

A7

Докато сме там, ако се изпълни задачата за деактивиране на тетъра (% HotspotVariable = 0), искаме да изчистим променливата, която съхранява името на устройството, което получава известие от задачата Hotspot Dialog.

A5

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

A3

Просто превключете WiFi връзката действие. Няма нищо сложно в тази стъпка.

A4

Показва се отделна задача, за да се покаже Диалогов прозорец AutoTools и действие за избора, който направих. Това ще се изпълнява, когато нашата диалогова управляваща променлива % HotspotDialog = 1.

A2

Когато превключвателят е натиснат, искаме да сме сигурни, че плочката превключва състоянието активно/неактивно и запазва същата команда: hotspottoggle. И накрая, уверете се, че ще свие лентата на състоянието.

Диалогов прозорец за гореща точка

Диалогов прозорец за гореща точка

Hotspot Dialog 

A1: 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 ]

Прочетете още

The Диалогов прозорец AutoTools се използва за показване на наличните устройства. Когато устройството бъде избрано, диалоговият прозорец ще се затвори и ще зададе стойността на % 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 ]

Прочетете още

The Автоматично известяване известието се създава на телефона, но само за да накара светодиода да мига. Изберете другите стойности на известието по ваш личен вкус и задайте бързо мигане на светодиода (моето е 300ms вкл./изкл.) в предпочитания от вас цвят. Идеята е да се покаже дискретна информация, а не напълно инвазивен сигнал, когато екранът се събуди. Известието се запазва като постоянно известие с ID 55.

Това, което следва, е a Присъединете се към натискане за всяко устройство, което притежавате. Избери Присъединете се към натискане за всяко устройство и използвайте условието IF, за да съпоставите стойността на % HotspotDevice променлива.

Конфигурирайте Присъединете се към натискане действие за изпращане на известие по ваш избор. Тъй като тези известия ще бъдат отхвърлени на целевото устройство, не са необходими други действия.

Умен часовник

Профил на интелигентен часовник

Profile: Remove Watch Icon 

Event: 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 Управление на плаващи икони *(трябва да отидете в приложението AutoWear) и да тествате размера и разположението на вашия часовник. Иконата ще рисува върху всеки екран, така че се уверете, че съдържа команда при докосване, за да го затворите. използвах closepoorrange и наименува иконата беден. Размерът на моята икона е 30x30 пиксела и е поставен 65% вдясно и 20% отгоре.

След като сте доволни от размера и местоположението - използвайте Приложение AutoWear действие за показване на иконата и условието IF за свързване с % 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 събитиеclosepoorrange’ тогава изпълнявам отделна задача, която съдържа почти същото действие като Отказ задача.


Надяваме се да харесате това наше малко творение и ни уведомете, ако мислите, че можем да направим някакви подобрения! Както винаги, можете да изтеглите проекта, като щракнете върху връзката по-долу.

Изтеглете файла на проекта за предупреждение „Няма мрежа“ за тетъринг тук!

За да импортирате предупрежденията за тетъринг „няма мрежа“ с файла на проекта Tasker, изтеглете горния файл и го запазете навсякъде във вътрешното си хранилище. Отворете Tasker и проверете дали „режимът за начинаещи“ е деактивиран в менюто с предпочитания. След това натиснете продължително върху иконата „начало“ в долния ляв ъгъл и щракнете върху „импортиране“. Намерете файла prj.xml, който сте запазили по-рано, и го изберете, за да го импортирате. Сега ще видите нов раздел в долния ред, съдържащ всички профили и задачи, които споменахме в тази статия.