首页 > 移动平台 > 详细

Android中再按一次退出实现

时间:2014-02-15 14:44:23      阅读:455      评论:0      收藏:0      [点我收藏+]

很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式

第一种方式(最常用)

	long waitTime = 2000;  
	long touchTime = 0; 
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {  
	        long currentTime = System.currentTimeMillis();  
	        if((currentTime-touchTime)>=waitTime) {  
	        	//让Toast的显示时间和等待时间相同
	            Toast.makeText(this, "再按一次退出", (int)waitTime).show();  
	            touchTime = currentTime;  
	        }else {  
	            finish();  
	        }  
	        return true;  
	    }  
	    return super.onKeyDown(keyCode, event);  
	}

第二种方式

重写onBackPressed方法直接监听返回键

	@Override
	public void onBackPressed() {
		
        long currentTime = System.currentTimeMillis();  
        if((currentTime-touchTime)>=waitTime) {  
        	//让Toast的显示时间和等待时间相同
            Toast.makeText(this, "再按一次退出", (int)waitTime).show();  
            touchTime = currentTime;  
        }else {  
            finish();  
        }  
	     
	}

这种方法虽然写法简单,但是这种方法缺只适用于Android 2.0以后.

如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed了。



Android中再按一次退出实现

原文:http://blog.csdn.net/dawanganban/article/details/19198323

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!