2010-10-13 92 views
2

我對Android還很陌生,並且我有一個具有webview的應用程序。我需要知道什麼時候頁面真的完成加載

我需要知道什麼時候該網頁視圖完成加載一個頁面,其中有一個隨機重定向(有時在同一頁,並且重定向的順序也發生變化),這樣我就可以刪除閃屏只有當有一個完全加載的頁面時。

在webviewclient上,onPageStarted和onPageFinished函數每次重定向都會調用一次,就像onNewPicture一樣(即使屏幕在重定向期間始終爲空)。所以我不能確定什麼時候它被稱爲最後一次(頁面實際加載)。

我也嘗試使用onLoadResource來計算加載的資源數量(危險和不可靠的方法,但我在這裏變得絕望),但是這也失敗了,因爲在頁面被緩存之後,它只被調用一個或兩個倍。

這是一個很大的難題,我無法解決使用我所知道的至今,誰能幫我嗎?

非常感謝。

回答

2

即興,這聽起來像你有一個網站,需要重寫... :-)

這裏有兩種可能性,我能想到的:如果你得到一個

  1. onPageFinished()onPageStarted()經過這麼長時間後,假定重定向完成。
  2. 如果這些重定向都是HTTP重定向(3xx響應狀態碼),您可以使用HttpClient導航重定向,直到獲得最終的URL,然後將該URL指定爲WebView以顯示。
+0

+1的重寫建議 – Falmarri 2010-10-13 17:35:57

+1

我同意,我只希望我有對這些網站的控制... – leparlon 2010-10-15 12:38:06

+0

順便說一句,我想你的sugestion,我現在的時間進行計數之間的每個起點和終點,並忽略非常快速的(重定向)這種方式,可能發生的更糟糕的是在非常非常非常非常快速的3G連接上提前刪除啓動畫面... 我認爲這將是好的... 謝謝 – leparlon 2010-10-15 12:40:45

相關問題