在使用webView时,会出现点击按钮让网页页面回到上一个页面的需求,这时可以使用goBack方法。
但是有的安卓用户会习惯点击手机自带的返回按钮,这时会直接关闭当前的activity,而不是网页页面回退。这时可以使用webView.copyBackForwardList()获取WebBackForwardList,配合onKeyDown监听事件来解决这个问题。
/** * 设置点击返回按钮,跳转到上一个html页面,而不是退出当前activity * @param keyCode * @param event * @return */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { if(webView.canGoBack()) { //获取webView的浏览记录 WebBackForwardList mWebBackForwardList = webView.copyBackForwardList(); //这里的判断是为了让页面在有上一个页面的情况下,跳转到上一个html页面,而不是退出当前activity if (mWebBackForwardList.getCurrentIndex() > 0) { String historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex() - 1).getUrl(); if (!historyUrl.equals(url)) { webView.goBack(); return true; } } } else { return true; } } return super.onKeyDown(keyCode, event); }
另外,
清理cache 和历史记录的方法:
webView.clearCache(true);
webView.clearHistory();
获取网页中携带的 Cookie
CookieManager cookieManager = CookieManager.getInstance();
String CookieStr = cookieManager.getCookie(url);
WebView 设置实现两个手指缩放网页:
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);