Създайте предупреждения за тетъринг „няма мрежа“ с 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 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 ]
Прочетете още
Ще трябва да изпълните това само веднъж, за да настроите плочките и променливите. Плочката ще използва команда hotspottoggle за промяна на състоянието на тетъринг и ще го зададе като неактивно. Освен това ще свие лентата на състоянието след натискане. Можете да обличате плочката с етикет по ваш избор и иконата.
Ще бъдат създадени още две променливи и зададени на 0. % HotspotVariable ще покаже състоянието на връзката (0 = не, 1 = да) и % Hotspot Dialog ще покаже диалогов прозорец, който ни пита какво устройство искаме да уведомим (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 ]
Прочетете още
Искам да показвам диалогов прозорец само когато тетърингът е активиран. Диалоговият прозорец ще покаже някои устройства, които притежавам, и ще ми позволи да задам целта за известията. Във всеки случай ще настроя телефона си за тетъринг да мига светодиода за известяване бързо всеки път, когато приемането е лошо.
При натискане на плочката тя променя състоянието на активно. % 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 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 ]
Прочетете още
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 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 Управление на плаващи икони *(трябва да отидете в приложението 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, който сте запазили по-рано, и го изберете, за да го импортирате. Сега ще видите нов раздел в долния ред, съдържащ всички профили и задачи, които споменахме в тази статия.