2012-02-04 86 views
0

我知道这是一个混乱,当涉及到Android的代理支持和很多挫折。我阅读了大部分文章,但我仍然感到困惑。Android代理WiFi vs手机

我想支持Wifi代理和移动代理,并且我知道在蜂窝和发布蜂窝之前,代理支持已经发生了一些变化。我还读到,即使您拥有android.permission.WRITE_SECURE_SETTINGS权限,您也需要成为系统应用程序来设置代理。

那么我可以从我的应用程序设置WiFi和移动网络的系统代理?蜂窝之前和蜂窝之后有什么区别?

获取WiFi和移动网络代理设置的首选方式是什么?蜂窝之前和之后有什么区别?如果我想在我的应用程序中使用它,在httpClient对象上设置proxy参数很简单吗?还有什么我需要做的?或者我应该使用系统属性?

请考虑Wifi和移动代理可能不同的情况。

任何指向此文档的良好文档(更新以反映自蜂窝以来的更改)将非常有帮助。我没有找到任何好的。

回答

1

通过反射,您可以获得每个Wi-Fi接入点的代理设置。这就是this library所做的。您可以使用它轻松访问当前配置的代理设置。

+0

谢谢,LeChuck!对不起,我没有注意到我现在有一个新的答案。我刚刚下载了您的最新APL并尝试了您的测试应用程序。它列出了所有的AP,但他们都说没有设置。我知道其中一个代理设置。所以我需要仔细看看你的代码,看看它为什么不起作用。顺便说一句,我使用Moto Xoom进行测试,因为我认为APL只适用于API级别> = 11。任何建议,将不胜感激。你的博客也很丰富。谢谢! – Safecoder 2012-03-03 08:11:46

+0

此外,我刚刚发布了关于代理的另一个问题,感谢它,如果你可以看看,并摆脱一些光http://stackoverflow.com/questions/9544582/how-android-application-decide-if-they-want-to -use-network-proxy-or-not – Safecoder 2012-03-03 08:12:28

+0

是的,你是对的。每个AP的代理设置都是自API级别> = 11以后引入的。对于API版本低于<11的设备,我仍不清楚用户或开发人员可以如何设置代理设置。其实我仍然有这个未解决的问题http://stackoverflow.com/questions/9446871/how-users-developers-can-set-the-androids-proxy-configuration-for-versions-2-x-。我希望一些Google员工会回答(如果你对这个话题感兴趣,那就投票吧!) – lechuckcaptain 2012-03-03 11:56:27

1

那么我可以从我的应用程序设置WiFi和移动网络的系统代理?

不,除非您的应用程序是固件的一部分。

蜂窝之前和蜂窝之后的任何区别?

与您是否可以设置它们无关。

获取WiFi和移动网络代理设置的首选方式是什么?

据我所知,只有一个接入的代理设置,Settings.Secure.HTTP_PROXY,您通过对Settings.SecuregetString()一个电话搞定。

蜂窝之前和之后的任何区别?

不是我所知道的。

+0

谢谢,CommonWare!所以使用Setting.Secure你可以获得Wifi代理还是移动代理?我的理解是,它只适用于移动网络。在Honeycomb和ICS上,您可以为每个wifi热点设置wifi代理甚至wifi代理。你知道如何处理我的代码?找不到任何好的文档。 – Safecoder 2012-02-04 18:54:22

+1

@HowardLi:“在Honeycomb和ICS上,你可以为每个wifi热点设置wifi代理甚至wifi代理” - 我在SDK或实际硬件上看不到这个证据。 – CommonsWare 2012-02-04 18:59:13

+0

我有Android平板电脑,它运行3.2(我没有尝试过ICS)。所以如果你去wifi设置,长按热点/ SSID,然后你会看到一个弹出窗口,选择手动修改(从列表中的第二个),然后你可以为它设置wifi代理。我现在没有设备,所以我根据自己的记忆打字。有些细节可能稍微偏离,但我相信你可以做到。 – Safecoder 2012-02-04 19:08:00