Android进阶---Android Webview重定向问题解决

原创 2017年09月26日 18:55:55
 项目中需要webview重定向,但是由于一个webveiw里面有许多加载操作,因此在调用webview。goback()方法时,往往达不到我们需要的操作效果。

1.解决方法

WebBackForwardList webBackForwardList=webview.copyBackForwardList()获取webview加载栈,然后更具加载栈做逻辑操作

2.webBackForwardList常用的方法

  • int size = webBackForwardList.getSize()
  • webBackForwardList.getCurrentItem()
  • webBackForwardList.getCurrentIndex()
  • webBackForwardList.getItemAtIndex(index)

getsize()方法获取当前加载栈的长度;
getCurrentItem()获取当前webview所加载的界面,我们可以在这个方法下获得url,title等内容;
getCurrentIndex()获取当前加载在加载栈中的位置;
webBackForwardList.getItemAtIndex(index)获取加载栈中第index页面;

3.合理使用

在2中我们获取到加载页面的一些信息,然后可以根据当前url,标题,位置。来进行相应的处理。

4.Demo使用

现在我们有这样一个场景:打开一个activity,webview加载A界面,然后用户在A里面点击B,然后点击C,点击D。返回操作时我们需要从D跳到B,然后跳A.下面为代码:

  public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (webView.canGoBack()) {
            WebBackForwardList webBackForwardList = webView.copyBackForwardList();
            if (webBackForwardList.getCurrentIndex() == 4) {//当前处于D界面
                webView.loadUrl(webBackForwardList.getItemAtIndex(1).getUrl());//挑转到B界面
                return true;
            }
            webView.goBack();
        }

        return true;
    }
版权声明:本文为博主原创文章,转载时请著名出处:http://blog.csdn.net/dg_summer https://blog.csdn.net/DG_summer/article/details/78105582

android webView 解决重定向

android webView 解决重定向 回退页面刷新导致页面不能回退
  • u013472738
  • u013472738
  • 2016-10-08 19:33:07
  • 3474

【webView重定向】遇到的坑

缘由: 项目开发中用,不是所以界面都需要原生开发,也有一部分会用到H5。下面说的问题就是因为项目webView加载H5造成的。 现象: 1、打开一些网页,正常,而有一些就不正常; 2、...
  • knockheart
  • knockheart
  • 2017-03-07 09:37:50
  • 2462

安卓webview重定向的解决

在Android开发过程中,使用过WebView的童鞋可能难免会遇到URL重定向问题。 解决方案 webView.setWebViewClient(new WebViewClient() { ...
  • qq_30983519
  • qq_30983519
  • 2017-07-29 15:51:34
  • 631

彻底解决 Android webview 防止重定向

其实,网上关于这个问题的博客很多,但几乎都是坑,基本都是copy。由于,自己也被坑的太狠了。所以打算自己找规律,然后解决。最后,发现真心不难,很简单。就是一个逻辑问题。规律:重定向时,shouldOv...
  • JimTrency
  • JimTrency
  • 2017-08-02 19:08:34
  • 603

Android中webview加载重定向地址

android中使用webview加载重定向地址时页面空白或不加载的解决办法
  • shihuiyun
  • shihuiyun
  • 2016-09-06 14:34:35
  • 3161

Android WebView 内处理302重定向

解决webView 无法加载带有重定向的URL
  • hadues
  • hadues
  • 2016-03-27 23:58:04
  • 4463

android WebView 加载重定向页面无法后退解决方案

项目中需要用webView加载第三方的web页面,其中有个页面有重定向到另外一个页面,造成了页面无法后退,后退到上个页面,又重定向到之前界面,重定向源页面也被加入到浏览记录中,刚开始想查找api中找个...
  • lastdream
  • lastdream
  • 2014-10-27 19:35:11
  • 22391

Android WebView 重定向问题的小研究

最近在工作中,遇到了一些webview嵌套其他第三方的html的页面的问题[非本团队开发html]的问题。出现问题的情况:当我们的webView嵌套比如应用宝的时候,当我们点击告诉下载,则发生地址无法...
  • ONLYMETAGAIN
  • ONLYMETAGAIN
  • 2017-10-30 10:27:41
  • 1110

解决Android Webview 重定向无法 goback 的方法

Android Webview 重定向 goback 中级方法
  • u013177564
  • u013177564
  • 2016-07-27 11:31:23
  • 1377

android webview 解决回退重定向的问题

public class MainActivity extends AppCompatActivity { private WebView webview; private MyWe...
  • liu1164316159
  • liu1164316159
  • 2017-06-20 10:26:13
  • 1217
收藏助手
不良信息举报
您举报文章:Android进阶---Android Webview重定向问题解决
举报原因:
原因补充:

(最多只允许输入30个字)