美文网首页
webView_back控制网页后退

webView_back控制网页后退

作者: leap_ | 来源:发表于2019-04-05 22:00 被阅读0次

    正常情况下按下back会直接跳出webView这个activity。
    目标:用户在按下back键的时候返回web的上一层,而不是退出web。
    思路:拦截手指点击back这个事件。

    @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KEYCODE_BACK)&&webView.canGoBack()){
                webView.goBack();
                return true;
            }
            return super.onKeyDown(keyCode,event);
        }
    

    onKeyDown这个方法是用来监听手指在屏幕上的按键,如果用户按下back,并且webView可以go back的话就消费用户点击的back,如果不能消费,就还传递到上层去。

    扩展:双击back退出应用

    long preTime;
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            long currentTime = new Date().getTime();
            // 如果时间间隔大于2秒,不处理
            if ((currentTime - preTime) > 2000) {
                // 显示消息
                Toast.makeText(this, "再按一次退出程序!", Toast.LENGTH_SHORT).show();
                //更新时间
                preTime = currentTime;
                //截获事件,不再处理
                return true;
            }
        }
        System.exit(0);// 正常退出程序
        return super.onKeyDown(keyCode, event);
    }
    
    

    相关文章

      网友评论

          本文标题:webView_back控制网页后退

          本文链接:https://www.haomeiwen.com/subject/lfokiqtx.html