Android Webview重定向问题解决方法

 更新时间:2018年05月04日 08:34:23   作者:鲁大先生  
在Android开发过程中,使用过WebView的童鞋可能难免会遇到URL重定向问题。这篇文章主要介绍了Android Webview重定向问题解决方法,非常具有实用价值,需要的朋友可以参考下

项目中需要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;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android 内核代码 wake_up源码解析

    Android 内核代码 wake_up源码解析

    这篇文章主要为大家介绍了Android 内核代码 wake_up源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Android Settings 跳转流程方法详解

    Android Settings 跳转流程方法详解

    这篇文章主要为大家介绍了Android Settings跳转流程方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Android 中RecyclerView顶部刷新实现详解

    Android 中RecyclerView顶部刷新实现详解

    这篇文章主要介绍了Android 中RecyclerView顶部刷新实现详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • Android中使用tcpdump、wireshark进行抓包并分析技术介绍

    Android中使用tcpdump、wireshark进行抓包并分析技术介绍

    这篇文章主要介绍了Android中使用tcpdump、wireshark进行抓包并分析技术介绍,本文讲解了下载并安装tcpdump、pc上安装wireshark等内容,需要的朋友可以参考下
    2015-04-04
  • Android编程使用缓存优化ListView的方法

    Android编程使用缓存优化ListView的方法

    这篇文章主要介绍了Android编程使用缓存优化ListView的方法,涉及ListView针对sd卡缓存及内存缓存的优化技巧,需要的朋友可以参考下
    2015-12-12
  • Android实现人脸支付的示例代码

    Android实现人脸支付的示例代码

    本文主要介绍了Android实现人脸支付,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Android实现带数字的圆形进度条(自定义进度条)

    Android实现带数字的圆形进度条(自定义进度条)

    在项目开发中经常遇到带圆形进度条的需求,在GitHub上逛了一圈,发现没有,今天小编抽空给大家分享Android实现带数字的圆形进度条(自定义进度条),需要的朋友参考下
    2017-02-02
  • Android getBackground().setAlpha遇到问题解决办法

    Android getBackground().setAlpha遇到问题解决办法

    这篇文章主要介绍了Android getBackground().setAlpha遇到问题解决办法的相关资料用,getBackground().setAlpha,导致其他布局背景透明度都改变的问题,需要的朋友可以参考下
    2017-03-03
  • Android实现老虎机小游戏代码示例

    Android实现老虎机小游戏代码示例

    大家好,本篇文章主要讲的是Android实现老虎机小游戏代码示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Android开发之经典游戏贪吃蛇

    Android开发之经典游戏贪吃蛇

    贪吃蛇是一款足够经典的游戏。它的经典,在于用户操作的简单,在于技术实现的简介,在于他的经久不衰。下面来看下如何在Android开发这款经典游戏。
    2016-07-07

最新评论