Android WebView 因重定向无法正常goBack()解决方案

问题背景

webview导入页面H5,但是页面希望传入用户信息,我们加入一个跳转页面,这个页面可以解析用户信息,解析完毕,立即导入H5页面。

原因的返回逻辑是这样的:

如果沒有跳转页面,我们这样的逻辑是正确,但是加入了跳转页面,就存在无法正常退出Activity或者Fragment的问题,就需要对原有逻辑进行修改。

解决办法

有两个方法,一个是自己记录加载的url,一个是使用webview提供的webView.copyBackForwardList接口函数。

这里主要说自己实现的方法。添加一个List记录页面的url:  privateArrayListloadHistoryUrls=newArrayList();

我们把初始页面url加入到List:

loadHistoryUrls.add(mOriginalUrl);

同时在shouldOverridUrlLoading函数里面记录loading url。


然后修改返回键逻辑,即可解决这个问题。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native ...
    底层码农阅读 3,403评论 2 22
  • 今天早上5点50起床,6点准备去步行跑步,今天用了1.2小时步行跑步了5.8公里,连续两天去运动跑的少走的多,之前...
    周秀峰阅读 204评论 0 1
  • 所谓一个人 一座城 又是这座城 有那个人在 若是不在 那座城亦是荒城……
    hi牛儿阅读 204评论 0 3