Wie stellt Android fest, ob eine Internetverbindung besteht?

Mein Nexus 10 (Android 4.4.2, nicht gerootet) funktioniert nicht gut mit meinem drahtlosen Netzwerk. Obwohl es eine Verbindung herstellen kann und ich keine Probleme beim Surfen im Internet habe, denkt Android aus irgendeinem Grund, dass es keine Internetverbindung hat. Infolgedessen ist das WLAN-Symbol in meinen Schnelleinstellungen auf orange gedimmt, und, was noch wichtiger ist, Apps scheinen nicht in der Lage zu sein, im Hintergrund nach Updates zu suchen (z. B. habe ich keine Probleme, Gmail zu öffnen und manuell nach E-Mails zu suchen, aber Gmail hat gewonnen keine Benachrichtigungen erhalten, während ich im Hintergrund laufe, bis ich mich in einem anderen Netzwerk befinde).

Dieses Problem tritt normalerweise nur auf einem bestimmten drahtlosen AP in meinem Haus auf, daher glaube ich, dass das Problem eher bei diesem AP als bei Android selbst liegt. Aber ich weiß nicht, wie Android bestimmt, ob es eine Internetverbindung hat oder nicht, also kann ich nicht viel tun, um zu versuchen, das Problem zu lösen. Ich habe gehört, dass Android die Google-Dienste überprüft, um die Internetverbindung zu testen, aber da ich ansonsten keine Probleme mit der Verwendung von Google-Diensten habe, weiß ich nicht, was das Problem sein könnte (na ja, die YouTube-App scheint eine ungewöhnlich lange Zeit zum Laden von Video-Metadaten, aber das hängt möglicherweise nicht damit zusammen).

Also, was genau macht Android, um festzustellen, ob es Internet hat oder nicht? Was könnte dazu führen, dass diese Überprüfung fehlschlägt, während nichts anderes beeinträchtigt wird? Vielen Dank!

Beachten Sie, dass Android auch über eine Captive-Portal-Erkennung verfügt, die relevant sein kann, wenn die Internetverbindung lückenhaft oder inkonsistent ist. Siehe android.stackexchange.com/questions/123129/…

Antworten (1)

Wenn die Datenanzeige orange ist (bei Kit kat; grau bei älteren Versionen), bedeutet dies, dass das Gerät keine Antwort von GCM (Google Cloud Messaging, dem Framework, das Push-Benachrichtigungen verarbeitet) empfangen kann. Dieser Datenverkehr wird über die Ports 5228, 5229 und 5230 gesendet. Wenn der AP den Datenverkehr auf 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.

Das ist genau die Information, die ich gesucht habe, danke! Es stellte sich heraus, dass der AP NAT aus irgendeinem Grund ausgeschaltet hatte.
Yep das wird es tun. Schön, dass du das Problem finden konntest. Beifall!