2012-05-11 135 views
3

對於Android 3.x和之前版本,您可以調出一個名爲com.android.settings.ProxySelector的隱藏UI。它在Settings.Secure.HTTP_PROXY中設置並被移動網絡使用(WiFi網絡並不總是有效)。但是對於ICS,我仍然可以提出這個隱藏的用戶界面,但它似乎不再設置代理。當我點擊「完成」,然後檢查Settings.Secure.HTTP_PROXY或系統屬性http.proxyHost,都沒有設置。如何在ICS中設置系統範圍代理

那麼在ICS中有沒有一種方法可以讓我設置全局代理,就像之前使用com.android.settings.ProxySelector UI所做的那樣?謝謝!

回答

4

不幸的是,隱藏的活動「com.android.settings.ProxySelector」不是爲設置Wi-Fi網絡代理而設計的。事實上,您可以使用此活動設置全局代理,但對於標準應用程序,您不會看到更改。

例如默認的瀏覽器使用此設置只對MOBILE網絡,完全忽略它的Wi-Fi網絡

當然你也可以閱讀使用此library您的個人應用程序的設置,但你不能指望其他應用程序也將這樣做:(

請讓我知道,如果一切都清楚了。反正我」 m試圖涵蓋的問題here,所以你可以找到更多的資源在這個主題。

+0

謝謝,@LeChunk!我注意到com.android.settings.ProxySelector不適用於ICS設備的移動網絡。即使在UI中設置了代理後,如果我設置了Settings.Secure.getString(getApplicationContext()。getContentResolver(),Settings.Secure.HTTP_PROXY),我也不會得到任何東西,這意味着它沒有真正設置。你有沒有看到同樣的問題?我也做System.getProperty(「http.proxyHost」),但也沒有。 – Safecoder

+0

剛剛修改我原來的帖子,更清楚的是我比Wifi方面更關注移動數據端。 – Safecoder

+0

不幸的是,我沒有安裝官方ROM的ICS設備。但我試圖在非官方的ICS ROM上看起來像這樣:'Settings.Secure.getString(getApplicationContext()。getContentResolver(),Settings.Secure.HTTP_PROXY)'總是返回null。不知道爲什麼。這是確認我們不應該在新版本上使用'com.android.settings.ProxySelector'活動的另一個線索。 – lechuckcaptain

1

如果設備已生根。您可以編輯Iptable

+0

謝謝昌偉。但我正在尋找解決方案的非根植設備。 – Safecoder

+0

根它第一。:)只是笑話。 –

+3

這不適合我自己的手機。我的手機始終紮根。 :-) – Safecoder