Controllo connessione in Android
Nelle app mobile che richiedono una connessione attiva, è importante, a mio vede di vedere, effettuare questo controllo prima di fare una qualsiasi richiesta di dati verso il web.
In questo modo, in assenza di connessione, abbiamo subito la risposta e possiamo chiudere subito l'applicazione in attesa di connessione.
Oggi vi posto una semplice classe per il controllo della connessione in Android.
A ben vedere il controllo potrebbe essere più etseso e specifico ma, a meno di esigenze particolari, può andar benissimo anche questo.
Ecco la classe con il metodo:
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;public class ControlloConnessione {
public static boolean inOnline(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
return false;
}
return ni.isConnected();
}}
L'oggetto ConnectivityManager ci permette di conoscere lo stato delle connessioni.
Il metodo getSystemService fa parte della classe Context, e ritorna un handle al servizio richiesto, che gli passiamo come argomento.
NetworkInfo invece descrive lo status di una interfaccia network; per controllare il suo stato usiamo direttamente il metodo isConnetced, che controlla se esiste una connessione ed è possibile usarla per passare dei dati.
Infine ricordatevi che per usare questi oggetti dovete aggiungere un permesso specifico al Manifest:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ciao!
android newtork connectivitymanager networkinfo
Commentami!