Wie stellt Android fest, ob es eine Internetverbindung hat?

7

Mein Nexus 10 (Android 4.4.2, ohne Rootberechtigung) spielt mit meinem drahtlosen Netzwerk nicht gut. Obwohl es eine Verbindung herstellen kann und ich keine Probleme beim Surfen im Internet habe, glaubt Android aus irgendeinem Grund, dass es keine Internetverbindung hat. Infolgedessen ist das WLAN-Symbol in meinen Schnelleinstellungen auf Orange abgeblendet, und vor allem scheinen Apps nicht in der Lage zu sein, im Hintergrund nach Updates zu suchen (z. B. habe ich keine Probleme, Google Mail zu öffnen und manuell nach E-Mails zu suchen, aber Google Mail hat gewonnen Ich werde nicht benachrichtigt, während ich im Hintergrund laufe, bis ich in einem anderen Netzwerk bin.

Dieses Problem tritt normalerweise nur bei einem bestimmten drahtlosen AP in meinem Haus auf. Ich glaube, das Problem liegt eher bei diesem AP als bei Android selbst. Aber ich weiß nicht, wie Android feststellt, ob es eine Internetverbindung hat oder nicht, daher kann ich nicht viel tun, um das Problem zu lösen. Ich habe gehört, dass Android bei Google-Diensten nach Internet-Konnektivität sucht, aber da ich sonst keine Probleme mit der Verwendung von Google-Diensten habe, weiß ich nicht, woran das Problem liegen könnte (nun, die YouTube-App scheint ein Problem zu haben ungewöhnlich lange Zeit zum Laden von Videometadaten, aber das hängt möglicherweise nicht zusammen).

Also, genau das, was ist Android tun , um festzustellen , ob es Internet hat oder nicht? Was könnte dazu führen, dass diese Prüfung fehlschlägt, ohne dass sich dies auf etwas anderes auswirkt? Vielen Dank!

Hayden Schiff
quelle
Beachten Sie, dass Android auch über eine Captive-Portalerkennung verfügt, die möglicherweise relevant ist, wenn die Internetverbindung unvollständig oder inkonsistent ist. Siehe android.stackexchange.com/questions/123129/…
Rakslice

Antworten:

7

Wenn die Datenanzeige orange ist (bei Kit kat; bei älteren Versionen grau), kann das Gerät keine Antwort von GCM empfangen (Google Cloud Messaging, das Framework für Push-Benachrichtigungen). Dieser Datenverkehr wird über die Ports 5228, 5229 und 5230 gesendet. Wenn der AP den Datenverkehr an diesen Ports blockiert oder stört, funktionieren Push-Benachrichtigungen nicht und die Datenanzeige leuchtet orange. Manuelle Aktualisierungen und anderer Internetverkehr funktionieren weiterhin einwandfrei, wenn die für diese Übertragungen verwendeten Ports (80, 443 usw.) nicht blockiert sind.

abqnm
quelle
Das ist genau die Information, nach der ich gesucht habe, danke! Es stellte sich heraus, dass der AP NAT aus irgendeinem Grund ausgeschaltet hatte.
Hayden Schiff
Ja, das wird es tun. Ich bin froh, dass Sie das Problem gefunden haben. Prost!
Abqnm