首页 文章

从程序中使用Galaxy HTTP Proxy设置

提问于
浏览
1

如何以编程方式读取WiFi代理设置?

GalaxyS和GalaxyTab有自己的HTTP代理设置,专门用于OS级别的WiFi连接 . (菜单 - >设置 - >无线和网络 - > Wi-Fi设置 - >菜单键,然后高级)这是非常好的功能,否则您无法使用WiFi代理服务器 . (见问题http://code.google.com/p/android/issues/detail?id=1273

现在我的应用程序使用通常的HttpClient的http连接 . 我想从操作系统中读取代理设置并进入连接,但我不知道如何阅读它 .

使用getprop命令,我可以读取APN的代理设置,但不能读取WiFi . APN代理设置与密钥“net.gprs.http-proxy”一起存储 .

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

WiFi的高级设置屏幕在com.android.settings.wifi.AdvancedSettings中实现,当然,首选项存储在/data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml中 . 我只是无法从我的应用程序中读取文件,对吧?

我想我会被卡住,除非三星提供特殊的API来访问设置,但我找不到这样的信息 . 顺便说一下,包括我在内的很多应用程序在全局HTTP代理设置方面都有很大优势,所以我希望有办法...

1 回答

  • 1

    android的未来版本将不使用net.gprs.http-proxy . 他们将使用java VM属性http.proxyHost,http.proxyPort和http.nonProxyHosts(https也设置) . 大多数http堆栈已经符合此标准,因此您不需要像应用程序开发人员那样做额外的工作 .

    代理设置将从APN db中读取(与以前一样),但也将从每个wifi-AP数据库中读取,因此wifi和移动数据都将受益 .

    这在HC及其他地方已经到位 . 如果要检查代理设置,可以使用System.getProperty(“http.proxyHost”)java调用 .

相关问题