1. 程式人生 > >Android主介面連續兩次點選物理返回鍵提示退出應用功能實現

Android主介面連續兩次點選物理返回鍵提示退出應用功能實現

實現內容:當點選一次 back 鍵時,程式提示“再按一次退出程式” ,當點選兩次 back 鍵,兩次之間的時間小於 3s 時,App就退出。 

實則是對按鍵back監聽。

重寫onKeyDown(),監聽back

宣告兩個常量:

 /** 上次點選返回鍵的時間 */
    private long lastBackPressed;
    /** 兩次點選的間隔時間 */
    private static final int QUIT_INTERVAL = 3000;
 /**
     * 重寫onKeyDown()
     * @param keyCode
     * @param event
     * @return
     */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            long backPressed = System.currentTimeMillis();
            if (backPressed - lastBackPressed > QUIT_INTERVAL) {
                lastBackPressed = backPressed;
                Toast.makeText(this,"再按一次退出",Toast.LENGTH_LONG).show();

            } else {
                finish();
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
重寫onBackPressed()
 /**
     * 重寫onBackPressed()
     */
    @Override
    public void onBackPressed() {
        long backPressed = System.currentTimeMillis();
        super.onBackPressed();
        if (backPressed - lastBackPressed > QUIT_INTERVAL) {
            lastBackPressed = backPressed;
            Toast.makeText(this,"再按一次退出",Toast.LENGTH_LONG).show();

        } else {
            finish();
            System.exit(0);
        }
    }
以上直接寫入MainActivity類即可。

實現效果: