之前刚学过按钮的监听事件onKeyDown()方法,该方法可以对用户的按键进行判断,并作出回应。这两天在使用手机App的时候,按了一下返回键,没有退出程序,而是显示"再按一次退出程序"的吐司。于是我使用之前所学知识,做了一个相似的效果。
该程序使用前后两次按键的时间间隔来判断是否让程序退出,如果间隔时间大于2秒,程序不会退出,否则可以退出程序。
在onCreate()方法之后写onKeyDown()方法。
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - exitTime > 2000) {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis(); //System.currentTimeMillis(): 系统当前时间
} else {
finish();
System.exit(0); // 退出程序
}
return true;
}
return super.onKeyDown(keyCode, event);
}
这样就可以实现连续点击两次返回键退出程序,还有另外一种方法也可以实现该功能,但我还没有看懂。