Wie überprüfen Sie, ob ein Android-Gerät mit einer Internetverbindung verbunden ist? Derzeit ich den Code unten bin mit:Wie überprüft man die Verfügbarkeit der Internetverbindung, wenn das Gerät mit einem Router verbunden ist?
ConnectivityManager connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
boolean isConnectedToNetwork = (networkInfo != null && networkInfo.isConnected());
jedoch das Problem mit dem Code oben ist, dass es nur überprüft, ob das Gerät mit einem Netzwerk verbunden ist. Es prüft nicht, ob eine Internetverbindung verfügbar ist. Wenn das Gerät z. B. mit einem Router ohne Internetzugriff verbunden ist, gibt es für isConnectedToNetwork
immer noch true zurück, da Sie technisch über das Netzwerk mit einem Netzwerk verbunden sind. Es ist nur so, dass der Router keine Internetverbindung hat.
Ein Vorschlag, den ich gesehen habe, ist zu versuchen, eine Verbindung zu einer Website herzustellen, die eine sehr geringe Chance hat, down zu sein. Ein Beispiel hierfür ist www.google.com. Ich denke jedoch, dass dies nicht die richtige Lösung dafür ist. Erstens, wenn der Benutzer GPRS verwendet und für seine Internetnutzung eine Gebühr pro KB berechnet, dann trägt er dafür zusätzliche Kosten. Zweitens halte ich es nicht für ethisch vertretbar, eine solche Website Dritter zu verwenden. Ist das wirklich die einzige Möglichkeit, nach einer Internetverbindung zu suchen, oder können Sie eine andere Lösung vorschlagen? Ist es wirklich in Ordnung, sich ohne ihre Zustimmung mit Google zu verbinden? Wie kann ich überprüfen, ob das Gerät über eine Internetverbindung verfügt?
Hallo. Danke für die Antwort. Das obige wird jedoch nur prüfen, ob das Gerät an eine WLAN-Schnittstelle angeschlossen ist. Es wird nicht überprüft, ob eine Internetverbindung verfügbar ist. – Arci