Usa Tasker per avvisare quando i tuoi dispositivi collegati perdono l'accesso a Internet

Crea un avviso di tethering "nessuna rete" con Tasker. Ti avviserà quando la tua connessione si interrompe. Notifiche per dispositivi indossabili e connessi

Dall'ultimo articolo, sai che passo parecchio del mio tempo su un treno. È un ottimo momento per scrivere uno o due articoli, a patto di avere accesso a Internet per cercare fatti e idee. Il tethering può essere complicato sul treno, poiché lungo il mio percorso sono sparse aree prive di ricezione. Trovo abbastanza facile capire che sto per andare offline quando mi trovo in un tunnel, ma la situazione è meno evidente quando il treno attraversa i prati aperti del North Yorkshire. La soluzione di tethering integrata di Android non ha alcun modo per farti sapere che non sarai in grado di caricare quel sito web per i prossimi 5 minuti.

Ecco perché, da appassionato di Tasker, ho pensato a come risolvere il mio problema utilizzando la famosa app di automazione Android. Ho risolto il mio problema creando un avviso di tethering "nessuna rete" utilizzando Tasker. Lo scopo del progetto è farti sapere quando il tuo telefono non si trova più nel raggio d'azione della rete cellulare. Ciò avverrà in 3 modi:

  • Utilizzo del LED di notifica (ideale per quando ti colleghi agli amici)
  • Utilizzando l'icona di uno smartphone (è necessario uno smartwatch)
  • Utilizzando un Join push (ideale per i dispositivi personali, può essere sostituito con AutoRemote)

Puoi diventare più creativo con le notifiche, tuttavia utilizzerò solo opzioni discrete poiché è più probabile che il tethering venga utilizzato in luoghi pubblici. A nessuno piacciono le notifiche odiose, giusto? Tieni presente che le notifiche utilizzeranno una connessione Internet per essere visualizzate sul dispositivo connesso. Potresti usare AutoRemote (via Bluetooth) per inviare avvisi quando la rete non è presente. Ciò richiederà che il dispositivo in questione sia accoppiato tramite Bluetooth.

Avrai bisogno:

Versione Android: 4.0+, Android 7.0 necessario per il riquadro delle notifiche

App: Giuntura

Plugin: Abbigliamento automatico (opzionale), AutoRemote (può sostituire Unisci), Notifica automatica (opzionale)


Abilita l'avviso di tethering "nessuna rete" con Tasker

Invece di verificare se il tethering è abilitato, è più semplice sostituire un riquadro nella barra di stato con Notifica automatica e impostare un comportamento di attivazione/disattivazione. Se non utilizzi Android 7.0 puoi invece utilizzare un collegamento o un widget.

Se non hai mai abilitato un riquadro con Notifica automatica - vedrai che è un po' imbarazzante. Dovrai creare un'attività di configurazione che convertirà un riquadro modello in un riquadro di nostra scelta. Posiziona una tessera vuota, ad es. Notifica automatica 02 nell'area dei riquadri (fare clic su Modifica per modificare i riquadri visibili).

Crea un riquadro Tethering

Piastrella di collegamento

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 ]

Per saperne di più

Dovrai eseguirlo solo una volta per impostare i riquadri e le variabili. Il riquadro utilizzerà un comando hotspot per modificare lo stato del tethering e lo imposterà come inattivo. Collasserà anche la barra di stato una volta premuta. Puoi decorare la tessera con un'etichetta a tua scelta e l'icona.

Verranno create altre due variabili e impostate su 0. %Variabile Hotspot visualizzerà lo stato del cavo (0 = no, 1 = sì) e % Finestra di dialogo Hotspot visualizzerà una finestra di dialogo che ci chiede quale dispositivo vogliamo notificare (0 = non mostrare, 1 = mostra finestra di dialogo).

Attiva/disattiva il collegamento

Attiva/disattiva il collegamento

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 ]

Per saperne di più

Desidero visualizzare una finestra di dialogo solo quando il tethering è abilitato. La finestra di dialogo mostrerà alcuni dispositivi che possiedo e mi permetterà di impostare il target per le notifiche. In ogni caso, imposterò il mio telefono tethering in modo che lampeggi rapidamente il LED di notifica ogni volta che la ricezione è scarsa.

Quando si preme il riquadro, lo stato diventa attivo. % Finestra di dialogo Hotspot cambia in 1 e attiva il HotspotDialog compito. Mentre selezioniamo il nostro dispositivo, i profili Hotspot vengono armati impostando la variabile %Variabile Hotspot a 1. Quando premo nuovamente su un riquadro per terminare il tethering, il file HotspotDialog ritorna a 0 e non richiede più la visualizzazione della finestra di dialogo, e il %Variabile Hotspot è impostato sul valore neutro 0.

A1,A6

L'azione Variabile Aggiungi +1 cambierà il valore delle nostre variabili iniziali da 0 a 1 e lo avvolgerà attorno a 2. Ciò significa che queste variabili assumeranno sempre valori pari a 1 o 0. Anche il posizionamento dell'azione è rilevante, così come il % Finestra di dialogo Hotspot controllerà quando verrà visualizzata la finestra di dialogo. Stiamo eseguendo la stessa attività per disabilitare e abilitare il tethering, ma non vogliamo che la finestra di dialogo appaia ogni volta che la attiviamo.

A7

Già che ci siamo, se viene eseguita l'attività per disabilitare il cavo (%Variabile Hotspot = 0), vogliamo cancellare la variabile che memorizza il nome del dispositivo che viene notificato dall'attività di dialogo Hotspot.

A5

IL Aspettare viene aggiunta un'azione per impedire che le informazioni sulla portata scarsa vengano visualizzate immediatamente, cosa che potrebbe accadere quando viene attivata l'impostazione dell'hotspot.

A3

Semplicemente attiva/disattiva il cavo WiFi azione. Niente di complicato in questo passaggio.

A4

Viene visualizzata un'attività separata per mostrare il file Finestra di dialogo Strumenti automatici e azione per la scelta che ho fatto. Questo verrà eseguito quando la nostra finestra di dialogo controlla la variabile % Finestra di dialogo Hotspot = 1.

A2

Quando viene premuto l'interruttore, vogliamo assicurarci che il riquadro cambi lo stato attivo/inattivo e mantenga lo stesso comando: hotspot. Infine, assicurati che comprimerà la barra di stato.

Finestra di dialogo dell'hotspot

Finestra di dialogo dell'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 ]

Per saperne di più

IL Finestra di dialogo Strumenti automatici viene utilizzato per visualizzare i dispositivi disponibili. Quando il dispositivo è selezionato, la finestra di dialogo si chiuderà e imposterà il valore di %HotspotDevice al nome di quel dispositivo. Questa variabile viene cancellata ogni volta che il tethering viene interrotto.

Ricezione scarsa/Nessun dato

Ricezione scarsa/Nessun profilo dati

Per saperne di più

Ho creato 2 profili che controlleranno la potenza del segnale e la connessione Internet. Ognuno è controllato dalla variabile %Variabile Hotspot ed è attivo solo quando il tethering è abilitato. Entrambi i profili attiveranno la stessa attività quando attivati ​​e disattivati. Uno contiene il contesto statale, ovvero la potenza del segnale, mentre l'altro la rete mobile. Idealmente, la connessione sarà ancora presente al momento dell'emissione della notifica. Questo è il motivo per cui includo la potenza del segnale impostata su 1 nella condizione del profilo.

Segnale scarso

Segnale scarso

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 ]

Per saperne di più

IL Notifica automatica viene creata una notifica sul telefono, ma solo per far lampeggiare il LED. Scegli gli altri valori della notifica secondo i tuoi gusti personali e imposta il lampeggio veloce del LED (il mio è acceso/spento per 300 ms) nel tuo colore preferito. L'idea è quella di visualizzare informazioni discrete piuttosto che un avviso completamente invasivo quando lo schermo si riattiva. La notifica viene salvata come notifica permanente con ID55.

Ciò che segue è a Partecipa alla spinta per ogni dispositivo che possiedi. Seleziona un Partecipa alla spinta per ciascun dispositivo e utilizzare la condizione IF per far corrispondere il valore di %HotspotDevice variabile.

Configura il Partecipa alla spinta azione per inviare una notifica di tua scelta. Poiché queste notifiche verranno ignorate sul dispositivo di destinazione, non sono necessarie altre azioni.

Orologio intelligente

Profilo dello 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 ]

Per saperne di più

Noterai che ho cambiato il modo in cui funziona la notifica per lo smartwatch. Nessuno di questi verrà visualizzato sul mio orologio. L'unica cosa che voglio mostrare sul mio orologio è una piccola icona che può essere eliminata su richiesta.

Crea un'icona utilizzando AutoWear gestisce le icone mobili *(devi andare sull'app AutoWear) e testare le dimensioni e il posizionamento sul tuo orologio. L'icona verrà disegnata su qualsiasi schermata, quindi assicurati che contenga un comando a portata di mano per chiuderla. ero solito closepoorrange e ha chiamato l'icona scarsa portata. La dimensione della mia icona è 30x30 pixel ed è posizionata al 65% a destra e al 20% dall'alto.

Una volta che sei soddisfatto delle dimensioni e della posizione, utilizza il file Applicazione AutoWear azione per mostrare l'icona e la condizione IF per collegarla al %HotspotDevice variabile.

Annulla

Annulla

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 ]

Per saperne di più

Per terminare il lampeggio del LED e rimuovere l'icona mobile dall'orologio, utilizzerò un semplice Annulla notifica automatica azione con l'ID della mia notifica (55) per eseguire il Applicazione AutoWear azione che nasconde l'icona mobile.

Lo smartwatch ha un profilo aggiuntivo che rimuoverà l'icona mobile se l'icona viene premuta. Per fare questo utilizzo il Comando AutoWear evento 'closepoorrange' quindi eseguo un'attività separata che contiene praticamente la stessa azione di Annulla compito.


Ci auguriamo che questa nostra piccola creazione ti piaccia e facci sapere se pensi che possiamo apportare qualche miglioramento! Come sempre potete scaricare il progetto cliccando sul link qui sotto.

Scarica qui il file di progetto di avviso di tethering "Nessuna rete"!

Per importare gli avvisi di tethering "nessuna rete" con il file di progetto Tasker, scarica il file sopra e salvalo ovunque nella tua memoria interna. Apri Tasker e controlla che la "modalità principiante" sia disabilitata nel menu delle preferenze. Quindi, premi a lungo sull'icona "home" nell'angolo in basso a sinistra e fai clic su "Importa". Trova il file prj.xml che hai salvato in precedenza e selezionalo per importarlo. Ora vedrai una nuova scheda nella riga inferiore contenente tutti i profili e le attività a cui abbiamo fatto riferimento in questo articolo.