2016-05-07 14 views
1

Ich habe ein Samsung 6.0.1, das ich in meiner Entwicklung verwende. Ich möchte wissen, ob ein Netzwerk Captive Portal ist. Es gab kürzlich Änderungen, die diese Informationen dem Entwickler bekannt machen, was nett ist. Aber es scheint keine Möglichkeit zu geben, die Daten von NetworkInfo abzurufen.Ist die Zeichenfolge "captive_portal_detected" von NetworkInfo getExtraInfo() eine zuverlässige Angabe für Captive Portal?

Ich habe festgestellt, dass, wenn ich eine Instanz von Wi-Fi NetworkInfo bekomme ich GetExtraInfo aufrufen kann und eine Angabe von Captive Portal wird dort als Zeichenfolge "Captive_Portal_detected" Es ist seltsam, das ist eine Zeichenfolge und nicht eine boolesche Eigenschaft, aber das ist nicht meine Frage.

Welche Version von Android hat diese Zeichenfolge starten auftauchen und ist dies Teil des regulären Betriebssystems oder etwas, das die Samsung-Jungs für die s7? Kann ich mich auf diesen String als Indikator verlassen, dass der Access Point, der mit NetworkInfo verknüpft ist, tatsächlich ein Captive Portal ist? Zu diesem Wert gibt es keine Dokumentation, die ich irgendwo finden kann.

Antwort

1

In der Dokumentation es sagt, dass die Rückkehr des Verfahrens getExtraInfo die durch die unteren Netzwerkschichten zur Verfügung gestellten Informationen zurückgibt: http://developer.android.com/intl/pt-br/reference/android/net/NetworkInfo.html#getExtraInfo()

Also, wenn getExtraInfo zurück, wenn es in einem Captive Portal seine bestimmt durch die Netzwerk-Hardware ist, Ich empfehle, dass Sie vermeiden, abhängig von festgelegter Hardware zu sein.

Hier sind ein Beispiel dafür, wie zu entdecken, wenn der Benutzer in Captive Portal ist: How to check for unrestricted Internet access? (captive portal detection)

+1

Danke meinen Verdachts auf diesem Wert für die Bestätigung. Fast alles im Konfigurationsmanagement ist mit Android M schwieriger geworden. – pjc