private long exitTime = 0; //先定一个时间变量(容器)
//重写返回键
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
//event.getAction() == KeyEvent.ACTION_DOWN 按下动作
//event.getRepeatCount() == 0 为了防止出发过快,连续出发两次这个事件
this.finishApp(); //退出程序 } return true; } return super.dispatchKeyEvent(event); }
private void finishApp() {
// 判断第二次点击与上一次点击时间间隔,如果大于两秒,不退出程序,并保存本次(首次点击定然大于2秒,故不触发)
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis(); //获取当前毫秒值
} else {
finish(); //退出当前页面,一般只用重写首页返回,这样就相当于退出了APP,如果想在其他页实现,则要在baseApplication写activities管理栈,finishAll()
}
}
再按一次退出(一看就会)
最新推荐文章于 2020-07-01 11:36:44 发布