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

“再按一次返回键退出程序”实现

2016-06-23 21:56 423 查看

“再按一次返回键退出程序”实现

问自己一个为什么?

每个app中都有退出这个响应,android是通过按“返回键”退出程序;在用户使用app时不免会出现一些“误操作”按了一下返回键,退出了程序,这样的用户体验是不友好的。

所以,就有必要对返回键进行判断,判断用户是否要退出。一般我们的判断条件是2s内按下返回键俩次就退出程序。

思路导析

在第一次按下“back”键时记录下当前系统时间存储在变量“exittime”;在第二次按下时,将当前系统时间与“exittime”比较,如果小于2秒就退出程序,反之,将当前时间存储于“exittime”。

代码实现

private long exittime = 0;

@Override
public void onBackPressed() {
if (System.currentTimeMillis() - exittime < 2000){
super.onBackPressed();
}else {
Mytools.ShowToast(MainActivity.this,getString(R.string.string_exit));
exittime = System.currentTimeMillis();
}
}
}


代码扩展实现

加入了判断抽屉的状态

private long exittime = 0;

@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
if (System.currentTimeMillis() - exittime < 2000){
super.onBackPressed();
}else {
Mytools.ShowToast(MainActivity.this,getString(R.string.string_exit));
exittime = System.currentTimeMillis();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 返回键监听