美文网首页Android开发经验谈Android开发Android开发
Android WebView 无法返回上一页且一直刷新当前页面

Android WebView 无法返回上一页且一直刷新当前页面

作者: HyperLifelll9 | 来源:发表于2018-07-08 10:35 被阅读34次

解决办法:

// 按下返回键返回上一页
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if ((keyCode == KeyEvent.KEYCODE_BACK) && this.wv.canGoBack()) {
   String url = this.wv.getUrl().toString();

   this.wv.goBack();

   // 如果遇到迷之无法返回上一页
   if (this.wv.getUrl().toString().equals(url)) {
    this.wv.goBack();
   }

   return true;
  }

  return super.onKeyDown(keyCode, event);
 }

原理:

我也不知道为什么,在访问某些网站时,点击返回键,页面不但不返回而且还会出现加载当前的页面,经过多次尝试,发现了只要我快速的按下返回键2次以上,就能成功返回到上一页,因此我在onKeyDown()添加了一个判断语句,记录页面在goBack()URL,然后执行goBack(),在goBack()后判断当前页面是否等于goBack()前的页面(判断URL),如果等于,则表明当前遇到了迷之不能返回上一页的问题,然后再次执行goBack(),此步等同于快速按下2次返回键,然后页面就正常返回啦!

相关文章

网友评论

  • 1a1ab5d44fa0:这个URL是否是重定向?导致goback一次后又再次进入当前url,可以抓包看一下
    HyperLifelll9:@Rainy8023 嗯初学者,不懂如何抓包
  • HyperLifelll9:第一坐稳了

本文标题:Android WebView 无法返回上一页且一直刷新当前页面

本文链接:https://www.haomeiwen.com/subject/cotouftx.html