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 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 ]
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 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 ]
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 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 ]
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 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 ]
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.