Ricerca…


Controlla la connessione dati

Questo metodo consente di verificare la connessione dati eseguendo il ping di determinati IP o nome di dominio.

public Boolean isDataConnected() {
    try {
        Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 8.8.8.8");
        int returnVal = p1.waitFor();
        boolean reachable = (returnVal==0);
        return reachable;
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return false;
}

Controllare la connessione usando ConnectivityManager

    public static boolean isConnectedNetwork (Context context) {

        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        return cm.getActiveNetworkInfo () != null && cm.getActiveNetworkInfo ().isConnectedOrConnecting ();

    }

Utilizza gli intenti di rete per eseguire attività mentre i dati sono consentiti

Quando il dispositivo si connette a una rete, viene inviato un tentativo. Molte app non controllano questi intenti, ma per far funzionare correttamente la tua applicazione, puoi ascoltare gli intenti di modifica della rete che ti diranno quando è possibile la comunicazione. Per verificare la connettività di rete è possibile, ad esempio, utilizzare la seguente clausola:

if (intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION)){
 NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
//perform your action when connected to a network  
}


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow