我是靠谱客的博主 大气手链,最近开发中收集的这篇文章主要介绍android webview 加载重定向页面时点击无法回退,导致重复加载当前页面问题的解决方案,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
项目中需要用webView加载第三方的web页面,其中有个页面有重定向到另外一个页面,造成了页面无法后退,后退到上个页面,又重定向到之前界面,重定向源页面也被加入到浏览记录中,刚开始想查找api中找个编辑历史记录的方法,把找重定向源页面从历史记录中删除,半天找不到,只有clearHistory方法。
后用浏览器访问该网站,则后退正常,会退到重定向页面。用微信内置WebView ,QQ内置WebView打开该页面后退也正常,发现重定向源页面也被加入到浏览记录中。
在使用WebView的时候,我们一般都会设置WebViewClient ,重写shouldOverrideUrlLoading方法,让webView加载点击url,并return true。因为不这样设置,点击页面上的链接弹出浏览器
- webView.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return true;
- }
- });
而造成重定向源页面被加入历史记录貌似恰恰是这个设置。而让人想不到的解决方案竟是下面这段代码
- webView.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- return false;
- }
- });
之前我以为这样设置跟没设置WebViewClient效果一样,也会点连接弹浏览器。没想到竟是完全不一样的,这样设置点连接会在当前webView打开,而且重定向页面后退也没问题
最后
以上就是大气手链为你收集整理的android webview 加载重定向页面时点击无法回退,导致重复加载当前页面问题的解决方案的全部内容,希望文章能够帮你解决android webview 加载重定向页面时点击无法回退,导致重复加载当前页面问题的解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复