天天看點

再按一次傳回鍵退出 Java代碼_Android開發之連續點選傳回鍵退出程式

簡介

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

}

}

}

}

運作測試

連續點選

再按一次傳回鍵退出 Java代碼_Android開發之連續點選傳回鍵退出程式

doubleclicktoquit01.gif

不連續點選

再按一次傳回鍵退出 Java代碼_Android開發之連續點選傳回鍵退出程式

doubleclicktoquit02.gif