Android webview clearHistory 不符合逾期的解决办法
- 目前在业务开发中有这么一个需求,切换不同的 Fragment, 切换回 WebView 的Fragment时候,要求是打开的初始页面,然后我在 onHiddenChanged() 方法中加载默认地址,并调用了 webView.clearHistory() 做清除以前的页面,但是点击返回键还是可以返回到上一个页面,而且只有一个页面,证明 claerHistory 起作用了。但是为什么只有一个还存在一个页面,是 clearHistory 的调用问题
根据查找原因是因为 clearHistroy 方法调用,会清空页面以前所有的记录,但是因为进入当前的 Fragment 的时候,默认 url 还没有加载完成,所以清除的就是上一个页面以前的记录,还保留了上一个页面。所以会造成点击返回键还有上一个页面。
针对这种情况,就需要在 webview 加载结束进行监听了。
目前我的解决办法是在 onPageFinished 方法中根据 url 做了判断,假如加载的是默认 url 就把记录清空了。
直面挑战,躬身入局