网址重定向时,android webview不调用onPageFinished

sha*_*eck 1 java android webview

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

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

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

我想知道是否有人曾经有过相同的经历,并且任何提示和技巧可以解决这一问题。

谢谢!

Dal*_*osa 5

仅在页面加载完成时才调用onPageFinished回调。发生重定向时,Web视图将跳至下一个地址,而不会完成当前请求。

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

如果想进一步了解WebView的内部工作原理,建议您查看Android的源代码,特别是webkit部分:

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