Android开发实现按两次返回键退出的方法
经常当我们使用某个APP时,需要退出时时常时连续按两次返回键退出程序,那么这个退出机制的实现原理是什么呢,让我们一起来看一看
实现效果:
实现的基本原理:
当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。
如果在2秒内,再次按了BACK键,则再次执行exit方法,此时isExit的值已为true,则会执行退出的方法。如果只按了一次返回键,2秒后没有再按则exit方法结束。
实现代码如下:
public class MainActivity extends Activity {
//实例化退出时间exittime
private long exitTime = 0;
/**
* 按两次返回键退出
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}