Мне нужно знать, когда страница действительно загружается - PullRequest
2 голосов
/ 13 октября 2010

Я еще новичок в Android, и у меня есть приложение с веб-обзором.

Мне нужно знать, когда веб-просмотр завершает загрузку страницы с случайным числом перенаправлений (иногда на одну и ту же страницу, и порядок перенаправлений также меняется), поэтому я могу удалить заставку только при наличии полностью загруженной страницы.

На веб-клиенте функции onPageStarted и onPageFinished вызываются один раз для каждого перенаправления, как и onNewPicture (даже если во время перенаправлений экран всегда пуст). Поэтому я не могу быть уверен, когда он вызывается в последний раз (страница действительно загружена).

Я также пытался использовать onLoadResource для подсчета количества загруженных ресурсов (опасный и ненадежный подход, но я впадаю в отчаяние), но это также не удалось, так как после кэширования страницы она вызывается только один или два раза .

Это одна большая загадка, которую я не могу решить, используя то, что я знаю до сих пор, может кто-нибудь помочь мне?

Заранее большое спасибо.

1 Ответ

2 голосов
/ 13 октября 2010

Не похоже, что у вас есть веб-сайт, который нужно переписать ...: -)

Вот две возможности, о которых я могу подумать:

  1. Если вы получите onPageFinished(), а не onPageStarted() по истечении такого-то периода времени, предположим, что перенаправления выполнены.
  2. Если все эти перенаправления являются перенаправлениями HTTP (коды состояния ответа 3xx), вы могли быиспользуйте HttpClient для навигации по перенаправлениям до тех пор, пока не получите окончательный URL-адрес, затем присвойте этому URL-адресу WebView для отображения.
...