版權聲明:本文為部落客原創文章,轉載請标明出處。 https://blog.csdn.net/chaoyu168/article/details/79022166
實作原理:需要在退出的頁面activity裡複寫onKeyDown()方法實作功能邏輯,進而實作該功能。
//聲明一個long類型變量:用于存放上一點選“傳回鍵”的時刻
private long mExitTime;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判斷使用者是否點選了“傳回鍵”
if (keyCode == KeyEvent.KEYCODE_BACK) {
//與上次點選傳回鍵時刻作差
if ((System.currentTimeMillis() - mExitTime) > 2000) {
//大于2000ms則認為是誤操作,使用Toast進行提示
Toast.makeText(this, "再按一次退出程式", Toast.LENGTH_SHORT).show();
//并記錄下本次點選“傳回鍵”的時刻,以便下次進行判斷
mExitTime = System.currentTimeMillis();
} else {
//小于2000ms則認為是使用者确實希望退出程式-調用System.exit()方法進行退出
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
//點選傳回按鈕在背景運作
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(false);
return true;
}
return super.onKeyDown(keyCode, event);
}