Android開發之連續點選返回鍵退出程式

YungFan發表於2017-12-13

簡介

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

相關文章