2011-08-09 118 views
3

我的ANDROID應用程序出現問題。無法在android webview中打開twitter url

我想在我的webview中顯示一個twitter頁面,但URL不會打開。

它保持無限加載。

我正在使用sdk 1.6。

webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setLoadsImagesAutomatically(true); 
    webView.setBackgroundColor(0x00000000); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 

    final Activity activity = this; 
    webView.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) { 
      activity.setProgress(progress * 100); 
      Log.e("progress",progress+" "+((progress * 100))); 
      if(progress==100) 
      { 
       //getWindow().setFeatureInt(Window.FEATURE_PROGRESS,Window.PROGRESS_VISIBILITY_OFF); 
       indicator.setVisibility(View.GONE); 
      } 
      else 
      { 
       indicator.setVisibility(View.VISIBLE); 
      } 
     } 
    }); 

    webView.getSettings().setUseWideViewPort(true); 
    webView.setWebViewClient(new ApplicationWebViewClient()); 
} 

    private class ApplicationWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 
     view.loadUrl(url); 
     return super.shouldOverrideUrlLoading(view, url); 
    } 
+0

您確定網址正確嗎? –

+0

是的...該網址是正確的,並有一個手機的twitter頁面無情地在android webview上...但是當我使用瀏覽器它完美的作品! – Haythem

回答

0

你的問題是,你的shouldOverrideUrlLoading需要返回true,表明主機應用程序管理的負荷:

private class ApplicationWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 
     view.loadUrl(url); 
     return true; 
    } 
} 
+0

我已經做出了這個改變,但同樣的問題...移動Twitter頁面的加載輪停止了一段時間,但繼續在...之後生成動畫,但在瀏覽器中,當Twitter加載輪停止了一段時間後,頁面被重定向到 – Haythem

+0

之後的具體網址你在某處調用了'webview.loadUrl()',不是嗎?你已經在你的Manifest中設置了<使用權限android:name =「android.permission.INTERNET」/>'? –

10

我必須設置用戶代理字符串上的WebView得到它工作。

wv.getSettings()。setUserAgentString(「silly_that_i_have_to_do_this」);

和那爲我工作。

希望它可以幫助別人!

+7

奇怪......剛剛在我的一個網站日誌中發現,訪問者的用戶代理是「silly_that_i_have_to_do_this」..... – binnyb

+2

我認爲應用程序「Android QR QR Reader」全面使用此用戶代理: [看到評論: http://www.androlib.com/android.application-comment.uk-tapmedia-qrreader-wDzFt.aspx?p=5] – Matt

+0

@gid它只是像魔術一樣工作...謝謝 –

14
wv.getSettings().setDomStorageEnabled(true); 

這對我有效!

+0

增加了這個,但不工作是使用webview客戶端。 – RAHULRSANNIDHI