2013-05-16 57 views
1

我知道我們可以通過使用here的反射來設置代理到webview。但它在4.2.2不能正常工作在webview中使用代理android

我使用whatismyip.com來驗證我是否真的連接到代理。我發現我必須旋轉屏幕(第二次運行時創建)才能連接到代理。那麼,問題是什麼。由於

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    WebView wv = (WebView) findViewById(R.id.webView1); 
    wv.setWebViewClient(new WebViewClient()); 
    Util.setProxyICSPlus(wv, "74.221.211.12", 8089, null); 
    wv.loadUrl("http://www.whatismyip.com/"); 
} 

WebView android proxy

+0

嗨,熊你能給我什麼是你用來設置代理? 我看到你正在使用Util.setProxyICSPlus。那麼你能給我那個Util類或類似的東西嗎?謝謝, – Nicolas

+0

我也從這個答案,添加用戶名密碼認證,你可以簡單地按照這個答案:https://stackoverflow.com/a/10752723/4206925編寫自己的WebViewClient類。它在我的情況下工作,希望這個幫助! – MewX

回答

-1

個人而言,我不喜歡你鏈接的方法。我認爲唯一的用戶應該能夠更改代理設置。這也是因爲它並不清楚Android如何將代理設置處理到所有系統組件中(有時我在Android的源代碼中看到了很多不同的代理設置用法)。

無論如何,我確信對於API版本大於等於13(Honeycomb)的設備,您應該只使用標準WebView,這取決於用戶正確配置了Wi-Fi接入點(包括代理)到設備設置中。

您可以在這裏找到工作的例子:https://github.com/shouldit/android-proxy-library-demo/blob/master/src/com/lechucksoftware/proxy/lib/activities/WebViewWithProxyActivity.java

如果您仍然想更改的Wi-Fi接入點設置(包括代理),您可以使用Android Proxy Library我的工作。

+0

你真的嘗試在4.2.2設備的onCreate中運行代碼嗎?你應該有我描述的相同結果。我不想在系統中設置代理。相反,我需要設置我的自定義代理。 – Bear