Pregunta

¿Cómo puedo leer la configuración de WiFi-proxy programáticamente?

Galaxys y GalaxyTab tienen su propia configuración HTTP-proxy especialmente para la conexión WiFi en el nivel del sistema operativo. (Menú -> Configuración -> Configuración inalámbrica y red -> Configuración de Wi-Fi -> Tecla de menú y luego avanzado) Es una función muy agradable para que no pueda usar servidores proxy de WiFi. (Consulte el problema http://code.google.com/p/android / problemas / detalle? id= 1273 )

Ahora, mi aplicación usa conexión HTTP con httpclient habitual. Quiero leer la configuración de proxy del sistema operativo y ponerme en la conexión, pero no sé cómo leerlo.

Con GetProp Command puedo leer la configuración de proxy para APN, pero no para WiFi. La configuración del proxy APN se almacena con la tecla "net.gprs.http-proxy".

adb -d shell
$ getprop net.gprs.http-proxy
getprop net.gprs.http-proxy
http://proxy.example.com:8888/
$

La configuración avanzada para la pantalla WiFi se implementa en com.android.settings.wifi.advancedsettings y, naturalmente, la preferencia se almacena en /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml . Simplemente no puedo leer el archivo de mi solicitud, ¿verdad?

Supongo que estoy atascado a menos que Samsung le brinde API especial para acceder a la configuración, pero no pude encontrar dicha información. Por cierto, muchas aplicaciones, incluidas las mías, tendrán grandes ventajas con la configuración del proxy HTTP global, así que espero que haya una manera ...

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top