Utilizați Tasker pentru a notifica când dispozitivele dvs. conectate pierd accesul la Internet

Creați avertismente de tethering „fără rețea” cu Tasker. Vă va anunța când se întrerupe conexiunea. Notificări pentru dispozitive purtabile și dispozitive conectate

Din ultimul articol, știi că îmi petrec destul de mult timp într-un tren. Este un moment excelent pentru a scrie un articol sau două, cu condiția să am acces la Internet pentru a căuta fapte și idei. Tethering-ul poate fi dificil în tren, deoarece zonele fără recepție sunt împrăștiate pe traseul meu. Mi se pare destul de ușor să spun că sunt pe punctul de a deconecta când sunt într-un tunel, dar situația este mai puțin evidentă atunci când trenul navighează prin pajiștile deschise din North Yorkshire. Soluția de tethering încorporată a Android nu are nicio modalitate de a vă anunța că nu veți putea încărca acel site web în următoarele 5 minute.

De aceea, în calitate de pasionat de Tasker, m-am gândit cum să-mi rezolv problema folosind populara aplicație de automatizare pentru Android. Mi-am rezolvat problema creând un avertisment „fără rețea” de tethering folosind Tasker. Scopul proiectului este de a vă anunța când telefonul dvs. nu se mai află în raza de acțiune a rețelei celulare. Acest lucru se va face în 3 moduri:

  • Utilizarea LED-ului de notificare (cel mai bun pentru atunci când conectați prietenii)
  • Utilizarea pictogramei unui smartphone (necesită un ceas inteligent)
  • Folosind un push Join (cel mai bun pentru dispozitivele personale - poate fi înlocuit cu AutoRemote)

Puteți deveni mai creativ cu notificări, cu toate acestea, voi folosi doar opțiuni discrete, deoarece tethering-ul este cel mai probabil să fie folosit în locuri publice. Nimănui nu-i plac notificările neplăcute, nu? Vă rugăm să rețineți că notificările vor folosi o conexiune la internet pentru a apărea pe dispozitivul conectat. Ai putea folosi AutoRemote (prin Bluetooth) pentru a trimite avertismente atunci când rețeaua nu este prezentă. Acest lucru va necesita ca dispozitivul în cauză să fie asociat prin Bluetooth.

Vei avea nevoie:

Versiunea Android: 4.0+, Android 7.0 necesar pentru panoul de notificare

Aplicații: A te alatura

Pluginuri: Autowear (optional), AutoRemote (poate înlocui Join), Notificare automată (optional)


Activați un avertisment de tethering „fără rețea” cu Tasker

În loc să verificați dacă tethering-ul este activat, este mai ușor să înlocuiți o țiglă din bara de stare cu Notificare automată și configurați un comportament de comutare. Dacă nu sunteți pe Android 7.0, puteți utiliza o comandă rapidă sau un widget.

Dacă nu ați activat niciodată o țiglă cu Notificare automată - o să vezi că asta e cam incomod. Va trebui să creați o sarcină de configurare care va converti o dală șablon într-o placă la alegerea noastră. Așezați o țiglă goală, de ex. Notificare automată 02 în zona de plăci (faceți clic pe Edit pentru a edita plăcile vizibile).

Creați o placă Tethering

Dală de legare

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 ]

citeşte mai mult

Va trebui să rulați o singură dată pentru a configura plăcile și variabilele. Tigla va folosi o comandă hotspottoggle pentru a schimba starea de tethering și o va seta ca inactivă. De asemenea, va restrânge bara de stare odată apăsată. Puteți îmbrăca țigla cu o etichetă la alegere și pictograma.

Încă două variabile vor fi create și setate la 0. %HotspotVariable va afișa starea legăturii (0 = nu, 1 = da) și %HotspotDialog va afișa un dialog care ne va întreba ce dispozitiv dorim să notificăm (0 = nu afișați, 1 = afișați dialogul).

Comutator de conectare

Comutator de conectare

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 ]

citeşte mai mult

Vreau să afișez un dialog numai când tethering-ul este activat. Fereastra de dialog va afișa unele dispozitive pe care le dețin și îmi va permite să setez ținta pentru notificări. În fiecare caz, voi seta telefonul meu tethering să clipească rapid LED-ul de notificare de fiecare dată când recepția este slabă.

Când țiglă este apăsată, se schimbă starea în activ. %HotspotDialog se schimbă la 1 și declanșează HotspotDialog sarcină. În timp ce ne selectăm dispozitivul, profilurile Hotspot-ului sunt armate prin setarea variabilei %HotspotVariable la 1. Când apăs din nou pe o placă pentru a termina tethering-ul, HotspotDialog revine la 0 și nu mai solicită afișarea dialogului, iar %HotspotVariable este setată la valoarea neutră 0.

A1,A6

Actiunea Variabila Adaugă +1 va schimba valoarea variabilelor noastre inițiale de la 0 la 1 și o va înfășura în jurul valorii de 2. Aceasta înseamnă că aceste variabile vor lua întotdeauna valori de 1 sau 0. Plasarea acțiunii este de asemenea relevantă, ca și %HotspotDialog va controla când este afișat dialogul. Executăm aceeași sarcină pentru a dezactiva și a activa tethering-ul, dar nu dorim ca dialogul să apară de fiecare dată când îl comutăm.

A7

În timp ce suntem la asta, dacă sarcina este efectuată pentru a dezactiva legătura (%HotspotVariable = 0), dorim să ștergem variabila care stochează numele dispozitivului care este notificat de sarcina de dialog Hotspot.

A5

The Aștepta este adăugată o acțiune pentru a preveni afișarea imediată a informațiilor despre intervalul slab, ceea ce se poate întâmpla atunci când setarea hotspot-ului este comutată.

A3

Pur şi simplu comutați legătura WiFi acțiune. Nimic complicat în acest pas.

A4

O sarcină separată este afișată pentru a afișa Dialog AutoTools și acțiune pentru alegerea pe care am făcut-o. Aceasta va rula atunci când dialogul nostru controlează variabila %HotspotDialog = 1.

A2

Când comutatorul este apăsat, vrem să ne asigurăm că țigla comută starea activ/inactiv și păstrează aceeași comandă: hotspottoggle. În cele din urmă, asigurați-vă că va restrânge bara de stare.

Dialog Hotspot

Dialog Hotspot

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 ]

citeşte mai mult

The Dialog AutoTools este folosit pentru a afișa dispozitivele disponibile. Când dispozitivul este selectat, dialogul se va închide și se va seta valoarea %HotspotDevice la numele dispozitivului respectiv. Această variabilă este ștearsă de fiecare dată când tethering-ul este oprit.

Recepție slabă/Fără date

Recepție slabă/Fără profil de date

citeşte mai mult

Am creat 2 profiluri care vor verifica puterea semnalului și conexiunea la Internet. Fiecare este controlat de variabilă %HotspotVariable și este activ numai când tethering-ul este activat. Ambele profiluri vor declanșa aceeași sarcină atunci când sunt activate și dezactivate. Unul conține contextul de stare - puterea semnalului - iar celălalt rețeaua mobilă. În mod ideal, conexiunea va fi încă prezentă atunci când se emite notificarea. Acesta este motivul pentru care includ puterea semnalului setată la 1 în condiția profilului.

Semnal slab

Semnal slab

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 ]

citeşte mai mult

The Notificare automată notificarea este creată pe telefon, dar numai pentru ca LED-ul să clipească. Alegeți celelalte valori ale notificării după bunul plac și setați intermiterea rapidă a LED-ului (al meu este pornit/oprit de 300 ms) în culoarea preferată. Ideea este de a afișa informații discrete, mai degrabă decât o alertă complet invazivă atunci când ecranul se trezește. Notificarea este salvată ca notificare permanentă cu ID 55.

Ceea ce urmează în continuare este a Alăturați-vă push pentru fiecare dispozitiv pe care îl dețineți. Alege o Alăturați-vă push pentru fiecare dispozitiv și utilizați condiția IF pentru a se potrivi cu valoarea lui %HotspotDevice variabil.

Configurați Alăturați-vă push acțiune pentru a trimite o notificare la alegere. Deoarece aceste notificări vor fi respinse pe dispozitivul țintă, nu sunt necesare alte acțiuni.

Ceas inteligent

Profil smartwatch

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 ]

citeşte mai mult

Veți observa că am schimbat modul în care funcționează notificarea pentru ceasul inteligent. Nimic din cele de mai sus nu va apărea pe ceasul meu. Singurul lucru pe care vreau să-l arăt pe ceasul meu este o pictogramă mică care poate fi respinsă la cerere.

Creați o pictogramă folosind AutoWear Gestionați pictogramele plutitoare *(trebuie să accesați aplicația AutoWear) și să testați dimensiunea și plasarea pe ceas. Pictograma se va desena peste orice ecran, așa că asigurați-vă că conține o comandă la atingere pentru a o închide. obisnuiam closepoorrange și a numit icoana poorrange. Dimensiunea pictogramei mele este de 30x30 pixeli și este plasată 65% la dreapta și 20% din partea de sus.

Odată ce sunteți mulțumit de dimensiune și locație - utilizați Aplicația AutoWear acțiune pentru a afișa pictograma și condiția IF pentru a o lega la %HotspotDevice variabil.

Anulare

Anulare

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 ]

citeşte mai mult

Pentru a opri clipirea LED-ului și a elimina pictograma plutitoare de pe ceas, voi folosi un simplu Anulare notificare automată acțiune cu ID-ul notificării mele (55) pentru a efectua Aplicația AutoWear acțiune care ascunde pictograma plutitoare.

Ceasul inteligent are un profil suplimentar care va elimina pictograma plutitoare dacă este apăsată pictograma. Pentru a face asta folosesc Comanda AutoWear eveniment’closepoorrange’ apoi execut o sarcină separată care conține aproape aceeași acțiune ca și Anulare sarcină.


Sperăm că vă bucurați de această mică creație a noastră și spuneți-ne dacă credeți că putem aduce îmbunătățiri! Ca întotdeauna, puteți descărca proiectul făcând clic pe linkul de mai jos.

Descărcați fișierul proiectului de avertizare Tethering „Fără rețea” aici!

Pentru a importa avertismentele de tethering „fără rețea” cu fișierul de proiect Tasker, descărcați fișierul de mai sus și salvați-l oriunde în stocarea internă. Deschideți Tasker și verificați pentru a vă asigura că „modul începător” este dezactivat în meniul de preferințe. Apoi, apăsați lung pe pictograma „acasă” din colțul din stânga jos și faceți clic pe „import”. Găsiți fișierul prj.xml pe care l-ați salvat mai devreme și selectați-l pentru a-l importa. Veți vedea acum o filă nouă în rândul de jos, care conține toate profilurile și sarcinile la care am făcut referire în acest articol.