zoukankan      html  css  js  c++  java
  • Android WebView回退

    在使用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); 

  • 相关阅读:
    css3--简单的加载动画
    background--详解(背景图片根据屏幕的自适应)
    css--两行显示省略号兼容火狐浏览器
    tortoisegit--无法commit
    vim--学习
    JavaScript--数据结构与算法之图
    JSONP
    数据结构--只用位运算实现加减乘除操作
    剑指offer——不用加减乘除做加法
    shop--10.前端展示系统--首页展示(后台)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7495780.html
Copyright © 2011-2022 走看看