Frage

Wie kann ich die WLAN-Proxy-Einstellung programmgesteuert lesen?

Galaxys und Galaxytab verfügen über eine eigene HTTP-Proxy-Einstellung, speziell für WIFI-Anschluss in Betriebssystemniveau. (Menü -> Einstellungen -> Drahtlose und Netzwerk -> Wi-Fi-Einstellung -> Menütaste und dann fortgeschritten) Es ist sehr nett, ansonsten können Sie Proxy-Server nicht aus WLAN verwenden. (Siehe das Problem http://code.google.com/p/android / Ausgaben / Detail? ID= 1273 )

Jetzt verwenden meine Anwendung HTTP-Verbindung mit üblicher HTTPClient. Ich möchte die Proxy-Einstellung von OS lesen und in die Verbindung setzen, aber ich weiß nicht, wie ich es lesen soll.

Mit GetProp-Befehl kann ich die Proxy-Einstellung für APN lesen, aber nicht für WLAN. Die APN-Proxy-Einstellung wird mit der Taste "net.gprs.http-Proxy" gespeichert. generasacodicetagpre.

Die erweiterte Einstellung für WIFI-Bildschirm ist in com.android.settings.wifi.advancedsettings implementiert und natürlich ist die Präferenz in /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml gespeichert . Ich kann die Datei einfach nicht von meiner Anwendung lesen, richtig?

Ich denke, ich bin festgefahren, es sei denn, Samsung bietet eine spezielle API, um auf die Einstellung zuzugreifen, aber ich konnte solche Informationen nicht finden. BTW, viele Anwendungen, einschließlich meiner, haben große Vorteile mit globaler HTTP-Proxy-Umgebung, also hoffe ich, dass es einen Weg gibt ...

War es hilfreich?

Lösung

Future versions of android won't use net.gprs.http-proxy. They will instead use the java VM properties http.proxyHost, http.proxyPort and http.nonProxyHosts (https also set). Most http stacks are already compliant with this standard so you don't need to do extra work as an app developer.

The proxy settings will be read from the APN db (as it used to be) but will also be read from a per-wifi-AP db, so both wifi and mobile data will benefit.

This is in place in HC and beyond. If you want to check your proxy settings you can just use the System.getProperty("http.proxyHost") java call.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top