2015-07-08 7 views
6

Ich habe mich gefragt, ob die unten beschriebene Methode überprüft, ob ich sowohl mit einem Netzwerk verbunden bin, als auch tatsächlich mit dem Internet verbunden sein kann.Netzwerk und Internetverbindung überprüfen - Android

Nicht nur mit einem Netzwerk verbunden, das mich nicht auf das Internet zugreifen lassen wird?

public boolean isNetworkAvailable() { 
    ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo networkInfo = manager.getActiveNetworkInfo(); 

    boolean isAvailable = false; 
    if (networkInfo != null && networkInfo.isConnected()) { 
     isAvailable = true; 
    } 
    return isAvailable; 
} 

Ich denke, es tut, aber ich bin nicht 100% sicher.

Dank

+0

'networkInfo.isConnected()' überprüft, ob die Netzwerkverbindung vorhanden ist, und wenn es möglich ist, Verbindungen herzustellen und Daten übergeben. Sie können auch 'networkInfo.isConnectedOrConnecting()' verwenden, um zu überprüfen, ob eine Netzwerkverbindung besteht oder gerade hergestellt wird. Stellen Sie außerdem sicher, dass Sie Ihrer AndroidManifest.xml Berechtigungen hinzufügen, um auf den WLAN- bzw. Netzwerkstatus zuzugreifen: '' ' ' –

+0

Mögliches Duplikat von [Wie überprüfe ich den Internetzugang auf Android? InetAddress gibt keine Zeitüberschreitung aus] (https://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out) –

Antwort

2

Werfen Sie einen Blick in one of my old answers. Es hat zwei verschiedene Methoden 1. um zu überprüfen, ob ein Gerät an ein Netzwerk angeschlossen ist 2. um zu überprüfen, ob ein Gerät mit dem Internet verbunden ist.

0

Der folgende Code wird die Internet-Konnektivität überprüfen in Android Studio mit Kotlin:

private fun amIConnected(): Boolean { 
    val connectivityManager = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager 
    val activeNetworkInfo = connectivityManager.activeNetworkInfo 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected 
}