1

我有这个 android 应用程序,它使用 java-javascript 桥从浏览的页面中获取信息。

它适用于所有其他链接,但有重定向时除外。当页面加载时,我会显示一个全屏半透明对话框,加载完成后我会隐藏对话框。

问题是对话框出现了两次,一个在另一个之上,但页面最终重定向并完全加载,最后一个对话框仍然停留在屏幕上并冻结整个应用程序,除非我强制关闭它并重新安装。

我想知道是否有人有相同的经验,并且任何解决此问题的提示和技巧将不胜感激。

谢谢!

4

1 回答 1

5

onPageFinished 回调仅在页面完成加载时调用。当发生重定向时,webview 会跳转到下一个地址,而不会完成当前请求。

您的问题的解决方案可能是设置一个标志,告知何时显示“加载”对话框。如果标志为 ON,则不会显示新标志,从而避免了多个对话框的问题。

如果想了解更多关于 WebView 的内部工作原理,我建议查看 Android 的源代码,特别是 webkit 部分:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.7_r1/android/webkit/

于 2012-05-15T07:10:03.907 回答