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

解决办法:

// 按下返回键返回上一页
 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次返回键,然后页面就正常返回啦!

你可能感兴趣的:(Android WebView 无法返回上一页且一直刷新当前页面的问题)