Szukaj…


Sprawdź połączenie danych

Ta metoda polega na sprawdzeniu połączenia danych za pomocą polecenia ping określonego adresu IP lub nazwy domeny.

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;
}

Sprawdź połączenie za pomocą ConnectivityManager

    public static boolean isConnectedNetwork (Context context) {

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

    }

Użyj intencji sieci do wykonywania zadań, gdy dane są dozwolone

Kiedy urządzenie łączy się z siecią, wysyłane są zamiary. Wiele aplikacji nie sprawdza tych zamiarów, ale aby aplikacja działała poprawnie, możesz słuchać zamiarów zmiany sieci, które powiedzą ci, kiedy możliwa jest komunikacja. Aby sprawdzić łączność sieciową, możesz na przykład użyć następującej klauzuli:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow