2

我对 Android 还是很陌生,我有一个应用程序,上面有一个 webview。

我需要知道 webview 何时完成加载具有随机重定向的页面(有时到同一页面,并且重定向的顺序也发生变化),因此只有在完全加载页面时才能删除启动画面.

在 webviewclient 上,每次重定向都会调用一次 onPageStarted 和 onPageFinished 函数,onNewPicture 也是如此(即使在重定向期间屏幕始终是空白的)。所以我不能确定最后一次调用它的时间(实际加载的页面)。

我也尝试使用 onLoadResource 来计算加载的资源数量(危险且不可靠的方法,但我在这里感到绝望),但这也失败了,因为页面缓存后,它只被调用了一两次。

这是我目前无法用我所知道的知识解决的一个大难题,有人可以帮我吗?

提前非常感谢。

4

1 回答 1

2

即兴表演,听起来您有一个需要重写的网站... :-)

以下是我能想到的两种可能性:

  1. 如果您在某某一段时间后得到了onPageFinished()否定,则假设重定向已完成。onPageStarted()
  2. 如果这些重定向都是 HTTP 重定向(3xx 响应状态代码),您可以使用 HttpClient 导航重定向,直到您获得最终 URL,然后将该 URL 提供WebView给显示。
于 2010-10-13T16:23:19.583 回答