簡介
在很多程式中,都有這樣一個功能,就是在主界面,連續點選傳回鍵會退出程式。它一般是這樣顯示的:第一次按下提示你 再按一次退出程式 ,如果此時立馬點選傳回鍵會直接退出整個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();
}
}
}
}
運作測試
連續點選
doubleclicktoquit01.gif
不連續點選
doubleclicktoquit02.gif