天天看點

Android--小技巧:如何實作“再按一次退出程式”效果

版權聲明:本文為部落客原創文章,轉載請标明出處。 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);
    }           

繼續閱讀