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

问题背景

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

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

Android WebView 因重定向无法正常goBack()解决方案_第1张图片

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

解决办法

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

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

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

loadHistoryUrls.add(mOriginalUrl);

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

Android WebView 因重定向无法正常goBack()解决方案_第2张图片


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


Android WebView 因重定向无法正常goBack()解决方案_第3张图片

你可能感兴趣的:(Android WebView 因重定向无法正常goBack()解决方案)