Sök…


Kontrollera datainslutningen

Den här metoden är att kontrollera dataförbindelsen genom att pinga vissa IP- eller domännamn.

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

Kontrollera anslutningen med ConnectivityManager

    public static boolean isConnectedNetwork (Context context) {

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

    }

Använd nätverksinsatser för att utföra uppgifter medan data är tillåtet

När din enhet ansluter till ett nätverk skickas en avsikt. Många appar kontrollerar inte för dessa syften, men för att din ansökan ska fungera ordentligt kan du lyssna på nätverksändringar som kommer att berätta när kommunikation är möjlig. För att kontrollera om det finns nätverksanslutning kan du till exempel använda följande klausul:

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow