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); 

  • 相关阅读:
    今天做了个小项目
    了解类与对象
    装机时键盘选择失误?教你修改kali Linux键盘到美式。
    一些模塊的用法
    你也是全员模块?
    金额保留2位小数 xx.00
    maven项目统一管理版本
    启动项目报错——找不到或无法加载主类 io.vertx.core.Launcher
    以jar包方式启动
    支付业务接口功能(二)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7495780.html
Copyright © 2011-2022 走看看