首先我们可以重写返回键的点击监听方法——onBackPressed(),
主要代码如下:
public void onBackPressed() {
long time = System.currentTimeMillis();
if ((time-lastTime) < 1500) {
finish();
} else {
Toast.makeText(this, R.string.exit_toast, Toast.LENGTH_SHORT).show();
}
lastTime = System.currentTimeMillis();
}
注意:必须在该方法外声明一个成员变量,
如:long lastTime;
用于记录上一次点击手机返回按钮的时间。
原理:
当第一次点击返回按钮时,time局部变量记录的时间与lastTime成员变量相同,
当第二次点击返回按钮时,time局部变量的值被重新赋值,而lastTime成员变量的值还是第一次点击按钮的时间值,
这样就造成了时间间隔,
当判断语句运行结束,又对lastTime成员变量重新赋值,与time局部变量值又相同,以此反复。