I dispositivi possono stabilire una connessione a internet direttamente utilizzando una connessione Wi-Fi o cellulare oppure indirettamente tramite un dispositivo Bluetooth accoppiato.
Nodi raggiungibili e vicini
Un dispositivo è considerato raggiungibile quando è online e disponibile per comunicare con un altro dispositivo, direttamente tramite Bluetooth o indirettamente utilizzando il cloud come intermediario.
Un dispositivo è considerato nelle vicinanze se può essere connesso direttamente tramite Bluetooth, senza utilizzare il cloud.
Attività che influiscono sul tempo di riconnessione
In determinate circostanze, i dispositivi potrebbero richiedere fino a 4 minuti per ristabilire una connessione. Questi scenari includono:
- Inattività del dispositivo Wear OS: se un dispositivo Wear OS viene rimosso dal polso dell'utente o non viene utilizzato attivamente per un periodo prolungato, il tempo di riconnessione potrebbe essere prolungato.
- Stato di sospensione: lo stato di sospensione di un dispositivo portatile può limitare i processi in background, aumentando potenzialmente il tempo di riconnessione del dispositivo.
- Interazione dell'utente: se l'utente inizia a interagire con un dispositivo portatile e un dispositivo Wear OS all'incirca contemporaneamente, spesso la procedura di riconnessione viene accelerata.
Individuare tutti i dispositivi utilizzando un client nodo
Un oggetto NodeClient
identifica e trasmette all'elenco dei dispositivi Android
collegati a una rete, indipendentemente dalle funzionalità di ciascun dispositivo. Tutte
le app su un dispositivo ricevono queste notifiche di eventi, ad esempio un nuovo dispositivo che si connette
alla rete o un dispositivo esistente che passa offline.
La classe NodeClient
è particolarmente utile per rilevare i dispositivi su cui
non è installata la tua app.
Rilevamento di dispositivi specifici utilizzando un client di funzionalità
Un oggetto CapabilityClient
fornisce informazioni su quali dispositivi della rete Wear OS supportano funzionalità specifiche dell'app. Una funzionalità è una funzionalità
che un'app definisce in fase di creazione o
configura dinamicamente in fase di runtime.
Ad esempio, un'app mobile per Android potrebbe pubblicizzare il supporto del controllo
remoto della riproduzione dei video. La versione per Wear OS di quell'app può utilizzare
CapabilityClient
per controllare se la versione mobile dell'app è installata
su un dispositivo nelle vicinanze e supporta la funzionalità. In questo caso, l'app per Wear OS può
mostrare i pulsanti di riproduzione e pausa per consentire agli utenti di controllare un video in riproduzione
sul proprio dispositivo mobile dal proprio dispositivo Wear OS. La funzionalità di trasmissione
funziona anche nella direzione opposta; le app per Wear OS possono elencare le funzionalità
che supportano.
Verificare le nuove funzionalità dell'app
Utilizza il CapabilityClient
per determinare l'ID nodo di un dispositivo con cui devi comunicare. Ad esempio, se devi verificare la presenza di una nuova funzionalità nell'app sui dispositivi portatili, crea una funzionalità per la nuova funzionalità sul lato portatile. L'app per Wear OS può quindi eseguire query per i dispositivi che supportano questa
funzionalità. Se la funzionalità non è presente su tutti i dispositivi, significa che l'utente
non ha una versione della tua app che supporta questa funzionalità, che dovresti
gestire in modo corretto nella logica dell'app. Se presupponi che il dispositivo portatile sia sempre il nodo corretto con cui comunicare, i tuoi messaggi potrebbero non essere recapitati, perché l'app Telefono non supporta questa funzionalità.
Determina se un dispositivo Wear OS è l'unico presente su una rete
Puoi utilizzare CapabilityClient
per verificare se la tua app deve funzionare in
modalità autonoma perché non ci sono altri dispositivi Android nelle vicinanze. Se
passa per FILTER_ALL
, non dovrebbero comparire altri dispositivi nei risultati.