Opprett en tethering 'ingen nettverk'-advarsler med Tasker. Det vil gi deg beskjed når forbindelsen din faller ut. Varsler for wearables og tilkoblede enheter
Fra forrige artikkel vet du at jeg bruker mye av tiden min på et tog. Det er et utmerket tidspunkt å skrive en artikkel eller to, forutsatt at jeg har tilgang til Internett for å slå opp fakta og ideer. Tethering kan være vanskelig på toget, siden mottaksløse områder er spredt over ruten min. Jeg synes det er ganske lett å si at jeg er i ferd med å gå offline når jeg er i en tunnel, men situasjonen er mindre tydelig når toget cruiser gjennom de åpne engene i North Yorkshire. Androids innebygde tethering-løsning har ingen mulighet til å fortelle deg at du ikke kommer til å kunne laste den nettsiden de neste 5 minuttene.
Derfor tenkte jeg som en Tasker-elsker på hvordan jeg skulle løse problemet mitt ved å bruke den populære Android-automatiseringsappen. Jeg har løst problemet mitt ved å bygge en "no network"-advarsel ved bruk av Tasker. Målet med prosjektet er å gi deg beskjed når telefonen din ikke lenger er innenfor mobilnettverkets rekkevidde. Dette vil gjøres på 3 måter:
- Bruke varslings-LED (best for når du tenner for venner)
- Bruke et smarttelefonikon (trenger en smartklokke)
- Ved hjelp av en Join-push (best for personlige enheter -kan erstattes med AutoRemote)
Du kan bli mer kreativ med varslinger, men jeg vil bare bruke diskrete alternativer, da tethering mest sannsynlig vil bli brukt på offentlige steder. Ingen liker ubehagelige varsler, ikke sant? Vær oppmerksom på at varslene vil bruke en internettforbindelse for å vises på den tilkoblede enheten. Du kan bruke AutoRemote (via Bluetooth) for å sende ut advarsler når nettverket ikke er tilstede. Dette krever at den aktuelle enheten er sammenkoblet via Bluetooth.
Du vil trenge:
Android-versjon: 4.0+, Android 7.0 nødvendig for varslingsflisen
Apper: Bli med
Plugins: AutoWear (valgfri), AutoRemote (kan erstatte Join), Autovarsling (valgfri)
Aktiver en "ikke-nettverk"-advarsel om nettdeling med Tasker
I stedet for å sjekke om tethering er aktivert, er det enklere å erstatte en flis i statuslinjen med Autovarsling og sett opp en vekslende atferd. Hvis du ikke bruker Android 7.0, kan du bruke en snarvei eller en widget i stedet.
Hvis du aldri har aktivert en flis med Autovarsling – du skal se at dette er litt kjipt. Du må lage en oppsettoppgave som vil konvertere en malbrikke til en flis etter eget valg. Legg en tom flis, dvs. Autovarsling 02 på flisområdet (klikk på rediger for å redigere de synlige flisene).
Lag en Tethering-brikke
Festeflis
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 ]
Les mer
Du trenger bare å kjøre dette én gang for å sette opp flisene og variablene. Flisen vil bruke en kommando hotspottoggle for å endre tilstanden til internettdeling og vil sette den som inaktiv. Den vil også skjule statuslinjen når den trykkes. Du kan kle opp flisen med en valgfri etikett og ikonet.
Ytterligere to variabler vil bli opprettet og satt til 0. %HotspotVariable vil vise statusen til tether (0 = nei, 1 = ja) og %HotspotDialog vil vise en dialog som spør oss hvilken enhet vi vil varsle (0 = vis ikke, 1 = vis dialog).
Tethering veksler
Tethering veksler
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 ]
Les mer
Jeg vil bare vise en dialogboks når nettdeling er aktivert. Dialogboksen viser noen enheter jeg eier og lar meg angi målet for varslene. I hvert tilfelle vil jeg stille inn nettingstelefonen min til å blinke varslings-LED-en raskt hver gang mottaket er dårlig.
Når flisen trykkes, endrer den statusen til aktiv. %HotspotDialog endres til 1 og den utløser HotspotDialog oppgave. Mens vi velger enheten vår, aktiveres Hotspot-profilene ved å angi variabelen %HotspotVariable til 1. Når jeg trykker på en flis igjen for å avslutte tjoring, vises HotspotDialog går tilbake til 0 og ber ikke lenger om at dialogboksen skal vises, og %HotspotVariable er satt til nøytral verdi 0.
A1, A6
Handlingen Variabel Legg til +1 vil endre verdien av startvariablene våre fra 0 til 1 og vil vikle den rundt 2. Dette betyr at disse variablene alltid vil ha verdier på 1 eller 0. Handlingsplasseringen er også relevant, som %HotspotDialog vil kontrollere når dialogboksen vises. Vi kjører den samme oppgaven for å deaktivere og aktivere tethering, men vi vil ikke at dialogboksen skal vises hver gang vi bytter den.
A7
Mens vi er i gang, hvis oppgaven utføres for å deaktivere tether (%HotspotVariable = 0), ønsker vi å fjerne variabelen som lagrer navnet på enheten som blir varslet av Hotspot Dialog-oppgaven.
A5
De Vente handling er lagt til for å forhindre at informasjonen om dårlig rekkevidde vises umiddelbart, noe som kan skje når hotspot-innstillingen veksles.
A3
Ganske enkelt veksle mellom WiFi-tether handling. Ingenting komplisert med dette trinnet.
A4
En egen oppgave vises for å vise AutoTools Dialog og handling for valget jeg har tatt. Dette vil kjøre når vår dialogkontrollvariabel %HotspotDialog = 1.
A2
Når bryteren trykkes, vil vi sørge for at flisen veksler mellom tilstanden aktiv/inaktiv og beholder den samme kommandoen: hotspottoggle. Til slutt, sørg for at den vil kollapse statuslinjen.
Hotspot-dialog
Hotspot-dialog
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 ]
Les mer
De Autoverktøy-dialogen brukes til å vise tilgjengelige enheter. Når enheten er valgt, lukkes dialogboksen og angi verdien for %HotspotDevice til navnet på den enheten. Denne variabelen slettes hver gang tilknytningen stoppes.
Dårlig mottak/ingen data
Dårlig mottak/Ingen dataprofiler
Les mer
Jeg har opprettet 2 profiler som vil sjekke signalstyrken og Internett-tilkoblingen. Hver og en er kontrollert av variabelen %HotspotVariable og er bare aktiv når tethering er aktivert. Begge profilene vil utløse den samme oppgaven når de aktiveres og deaktiveres. Den ene inneholder tilstandskonteksten - signalstyrke - og den andre mobilnettet. Ideelt sett vil tilkoblingen fortsatt være tilstede når varselet sendes. Dette er grunnen til at jeg inkluderer signalstyrken satt til 1 i profiltilstanden.
Dårlig signal
Dårlig signal
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 ]
Les mer
De Autovarsling varsling opprettes på telefonen, men kun for å få LED-lampen til å blinke. Velg de andre verdiene for varslingen etter din personlige smak og still inn hurtig LED-blink (min er 300ms på/av) i din foretrukne farge. Tanken er å vise diskret informasjon i stedet for et fullstendig invasivt varsel når skjermen våkner. Varslingen lagres som en permanent varsling med ID 55.
Det som følger er en Bli med på push for hver enhet du eier. Velg en Bli med på push for hver enhet, og bruk IF-tilstanden for å matche verdien av %HotspotDevice variabel.
Konfigurer Bli med på push handling for å sende et varsel om ditt valg. Siden disse varslene vil bli avvist på målenheten, er ingen andre handlinger nødvendig.
Smartklokke
Smartwatch-profil
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 ]
Les mer
Du vil legge merke til at jeg har endret måten varslingen fungerer på for smartklokken. Ingen av de ovennevnte vil dukke opp på klokken min. Det eneste jeg vil vise på klokken min er et lite ikon som kan avvises på forespørsel.
Lag et ikon ved hjelp av AutoWear Administrer flytende ikoner *(du må gå til AutoWear-appen) og teste størrelsen og plasseringen på klokken. Ikonet vil tegne over hvilken som helst skjerm, så sørg for at det inneholder en kommando på trykk for å lukke den. jeg brukte nært dårlig rekkevidde og kalt ikonet dårlig rekkevidde. Størrelsen på ikonet mitt er 30x30 piksler og det er plassert 65 % til høyre og 20 % fra toppen.
Når du er fornøyd med størrelsen og plasseringen - bruk AutoWear-appen handling for å vise ikonet og HVIS-tilstanden for å koble det til %HotspotDevice variabel.
Avbryt
Avbryt
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 ]
Les mer
For å avslutte LED-blinket og fjerne det flytende ikonet fra klokken, skal jeg bruke en enkel Avbryt autovarsling handling med ID-en til varselet mitt (55) for å utføre AutoWear-appen handling som skjuler det flytende ikonet.
Smartklokken har en tilleggsprofil som fjerner det flytende ikonet hvis ikonet trykkes. For å gjøre dette bruker jeg AutoWear-kommando begivenhet 'nært dårlig rekkeviddeså kjører jeg en egen oppgave som inneholder stort sett den samme handlingen som Avbryt oppgave.
Vi håper du liker denne lille kreasjonen vår, og gi oss beskjed hvis du tror vi kan gjøre noen forbedringer! Som alltid kan du laste ned prosjektet ved å klikke på lenken nedenfor.
Last ned Tethering 'No Network' advarselsprosjektfilen her!
For å importere tethering 'ingen nettverk'-advarslene med Tasker-prosjektfilen, last ned filen ovenfor og lagre den hvor som helst i din interne lagring. Åpne Tasker og kontroller at "nybegynnermodus" er deaktivert i preferansemenyen. Deretter trykker du lenge på "hjem"-ikonet nederst i venstre hjørne og klikker på "importer". Finn prj.xml-filen du lagret tidligere, og velg den for å importere den. Du vil nå se en ny fane i den nederste raden som inneholder alle profilene og oppgavene vi refererte til i denne artikkelen.