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

Android退出程序时的"再按一次退出"实现

2013-12-06 10:15 411 查看
android

个人觉得当用户按下后退键时,出现"再按一次退出"的提示防止误操作比弹出一个对话框是会更人性化的。话不多说上代码:

第一种:重写onKeyDown来监听:

[java] view plaincopy

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.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();

touchTime = currentTime;

}else {

finish();

}

return true;

}

return super.onKeyDown(keyCode, event);

}

第二种是重写onBackPressed方法直接监听返回键:

[java] view plaincopy

long waitTime = 2000;

long touchTime = 0;

@Override

public void onBackPressed() {

long currentTime = System.currentTimeMillis();

if((currentTime-touchTime)>=waitTime) {

Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();

touchTime = currentTime;

}else {

finish();

}

}

实现代码是一样的只是重写的方法不同罢了。

如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed啦!
好了,今天和大家分享了一个简单而又实用的功能。谢谢大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: