2011-07-15 32 views
0

我在Android應用程序中打開了一個簡單的Twitter頁面的嵌入式WebView。移動Twitter總是重定向到Android WebView中的家

的Twitter會無限加載,直到我說:

webview.getSettings().setDomStorageEnabled(true); 

現在負載,但重定向即使web視圖報告正確的URL到Twitter主頁。

下面是代碼:

webview = new WebView(this); 
setContentView(webview); 

webview.getSettings().setJavaScriptEnabled(true);   
webview.setWebViewClient(new CustomWebViewClient(activity)); 
webview.getSettings().setDomStorageEnabled(true); 

webview.loadUrl("https://mobile.twitter.com/some_account"); 

任何想法?

回答

0

Twitter最近改變了它處理各種用戶代理的方式。我們應該知道他們到底在做什麼,但我沒有時間。要解決此問題,請更改WebView的用戶代理,如下所示:

WebSettings webSettings = yourWebView.getSettings(); 
String opera10 = "Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.10"; 
webSettings.setUserAgentString(opera10); 
yourWebView.loadUrl(...); 

Opera用戶代理和Twitter移動網站按預期工作。

或者,您可以刪除用戶代理字符串中的Android,但會在沒有正確調整大小以適應屏幕的情況下離開WebView呈現。