為了防止用戶誤點退出鍵,很多應用都需要按兩次退出鍵才會退出程序。下面介紹兩種方法實現:
按照兩次退出鍵的時間判斷:
private long lastClickTime = 0; @Override public void onBackPressed() { if (lastClickTime <= 0) { Toast.makeText(this, "再按一次后退鍵退出應用", Toast.LENGTH_SHORT).show(); lastClickTime = System.currentTimeMillis(); } else { long currentClickTime = System.currentTimeMillis(); if (currentClickTime - lastClickTime < 2000){ finish(); } else { Toast.makeText(this, "再按一次后退鍵退出應用", Toast.LENGTH_SHORT).show(); lastClickTime = System.currentTimeMillis(); } }
按照是否連續點擊退出鍵判斷:
protected int mFinishCount = 0; @Override public boolean dispatchTouchEvent(MotionEvent ev) { mFinishCount = 0; return super.dispatchTouchEvent(ev); } @Override public void finish() { mFinishCount++; if (mFinishCount == 1) { Toast.makeText(this, "再按一次退出!", Toast.LENGTH_LONG).show(); } else if (mFinishCount == 2) { super.finish(); } }
