Android的再按一次退出应用

Android的再按一次后退事件的处理

1.首先。创建你的项目,打开你的MainActivity.java文件。onCreate();方法是你的程序的入口是一个Activity的生命周期的第一个执行方法。在这里就不多说了。

2.在onCreate方法后面。重写一个 方法。

public void onBackPressed() {//重写改方法。
        super.onBackPressed();//删除该行后,当你在执行你的程序时。你会发现你单机后退键的时候程序没有任何的响应。
    }

3.开始真正的书写代码。实现响应。

 int index=0;//定义一个变量。    @Override
    public void onBackPressed() {
        if (index <= 0) {
            Toast.makeText(this, "再按一次,退出应用。。。", Toast.LENGTH_SHORT).show();//添加一个Toast的显示提示。非常简单,就不多说了。
            index++;//当程序执行一次后,我没们讲变量值改变加一,便于第二次获取。
        } else {
            finish();//该关键词是,退出程序到后台。
        }
    }

4.当执行完以上的代码后,虽然可以实现退出功能,但是还有美中不足的地方。当用户不是想退出 ,而是一次的误操作呢。当然这时就不能够满足用户的需求。

5.此时我们就应该对此功能的优化。(代码如下)

   private long LastTime=0;//定义一个变量时间。
    public void onBackPressed() {
        if (LastTime <= 0) {//对变量值进行判断,
            Toast.makeText(this, "再按一次,退出应用。。。", Toast.LENGTH_SHORT).show();//添加一个Toast的显示提示。非常简单,就不多说了。
           LastTime=System.currentTimeMillis();//获取时间值为 运行此方法开始到此刻的时间。
        } else{
            long CyrentTime=System.currentTimeMillis();//再次定义一个点击时间。获取运行到当前的时间。
            if(CyrentTime-LastTime<1000){//判断如果用户的操作时间在一秒以内。则执行finish()方法。
                finish();

            }else{
                LastTime=CyrentTime;//最后将最后一次的时间赋值给lastTime,进行多次的循环。

            }
        }
        }

6.部署到模拟器后,不出意外的话,应该次功能就已经可以顺畅的执行了。

 

posted @ 2015-08-12 19:58  之学者  阅读(151)  评论(0)    收藏  举报