android webview goback 跳过302方法

很简单,先看代码

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //判断是否可以返回操作
        if (webView.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            //获取历史列表
            WebBackForwardList mWebBackForwardList = webView
                    .copyBackForwardList();
            //判断当前历史列表是否最顶端,其实canGoBack已经判断过
            if (mWebBackForwardList.getCurrentIndex() > 0) {
                //获取历史列表
                String historyUrl = mWebBackForwardList.getItemAtIndex(
                        mWebBackForwardList.getCurrentIndex() - 1).getUrl();
                //按照自己规则检查是否为可跳转地址
                //注意:这里可以根据自己逻辑循环判断,拿到可以跳转的那一个然后webView.goBackOrForward(steps)
                if (!historyUrl.contains("s.click.taobao.com")) {
                    //执行跳转逻辑
                    webView.goBack();
                    //webView.goBackOrForward(-1)
                    return true;
                }
            }
        }
        return super.onKeyDown(keyCode, event);
    }

NND找了半天才找到这么个破办法,凑合着用吧

posted @ 2013-03-03 03:05  relinson  阅读(1351)  评论(0编辑  收藏  举报