Ich weiß, es gibt eine Möglichkeit herauszufinden, ob ein WiFi-Netzwerk ein Captive-Portal ist, indem Sie die Antwort von etwas wie "http://clients3.google.com/generate_204"
überprüfen.Wie kann man wissen, dass das angeschlossene WiFi Walled Gardened (Captive Portal) ist?
Aber meine Frage ist etwas anders. Wir alle wissen, dass auf Android, wenn wir eine Verbindung zu einem WiFi-Netzwerk den Verbindungszyklus durchlaufen eine Reihe von Zustand in der Klasse NetworkInfo.DetailedState, wie AUTHENTICATING
, OBTAINING_IPADDR
, VERIFYING_POOR_LINK
usw. geht auch einer der Staaten ist CAPTIVE_PORTAL_CHECK
und Android-System überprüfen, ob die Netzwerk, das verbunden wird, ist gefangen oder nicht. Dazu verwendet Android die CaptivePortalTracker#isCaptivePortal(InetAddress server), die eine boolean
ergibt. So sind wir sicher, dass Android weiß, ob die Verbindung eingeschränkt ist (Captive) oder nicht
So ist meine Frage Android-System gibt einige Callback oder ein Zustand, durch den wir das Netzwerk kennen lernen können, ist Captive Portal ohne zu überprüfen es manuell? Da Android-System bereits das Netzwerk für Captive Portal überprüft haben, müssen wir das gleiche noch einmal tun?
P.S. Ich ziele nur auf API 19 (KitKat 4.4.2).
Thanks @ isma3l, wird dies überprüfen und mit einem weiteren Dank :-) –
Hallo @ isma3l wieder zurück, diese API benötigt 23 (Eibisch) zu arbeiten. Haben wir so etwas für frühere Versionen? –
@AnasAzeem siehe bearbeiten – isma3l