您的位置:首页 > 移动开发 > Android开发

Android 实现按两次返回键退出程序

2014-05-07 17:00 316 查看
[java] view plaincopy

// 是否退出程序  
private static Boolean isExit = false;  
// 定时触发器  
private static Timer tExit = null;  

[java] view plaincopy

public boolean onKeyUp(int keyCode, KeyEvent event) {  
  
    if (keyCode == KeyEvent.KEYCODE_BACK) {  
        if (isExit == false) {  
            isExit = true;  
            if (tExit != null) {  
                tExit.cancel(); // 将原任务从队列中移除  
            }  
            // 重新实例一个定时器  
            tExit = new Timer();  
            TimerTask task = new TimerTask() {  
                @Override  
                public void run() {  
                    isExit = false;  
                }  
            };  
            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();  
            // 延时两秒触发task任务  
            tExit.schedule(task, 2000);  
        } else {  
            finish();  
            System.exit(0);  
        }  
        return true;  
    }  
    return super.onKeyUp(keyCode, event);  
}  

原理很简单:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask 任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: