简介
在很多程序中,都有这样一个功能,就是在主界面,连续点击返回键会退出程序。它一般是这样显示的:第一次按下提示你 再按一次退出程序 ,如果此时立马点击返回键会直接退出整个App;如果超过了预设的间隔时间再按,又会提示再按一次退出程序,下面实现一下,完全可以抽离出来作为一个工具方法来调用。
Activity代码
public class MainActivity extends AppCompatActivity {
// 弹出提示框
private Toast toast;
// 记录第一次按下的时间
private long firstPressTime = -1;
// 记录第二次按下的时间
private long lastPressTime;
// 两次按下的时间间隔
private final long INTERVAL = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toast = Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT);
}
/**
* 按下返回键的时候调用
*/
public void onBackPressed() {
showQuitTips();
}
/**
* 显示提示框
*/
private void showQuitTips() {
// 如果是第一次按下 直接提示
if (firstPressTime == -1) {
firstPressTime = System.currentTimeMillis();
toast.show();
}
// 如果是第二次按下,需要判断与上一次按下的时间间隔,这里设置2秒
else {
lastPressTime = System.currentTimeMillis();
if (lastPressTime - firstPressTime <= INTERVAL) {
System.exit(0);
} else {
firstPressTime = lastPressTime;
toast.show();
}
}
}
}
运行测试
- 连续点击
- 不连续点击