본문 바로가기

DEVELOPMENT/ANDROID

[ANDROID] BACK키 두번 누를 시 종료

어플리케이션에서 실수로 백키를 눌렀을 경우 어플이 종료 되는 경우를 방지합니다.


멤버변수 두개를 잡아줍니다.


  1. //두번 종료
  2. private boolean mPressFirstBackKey = false;      // Back의 상태값을 저장하기 위한 변수
  3. private Timer mTimer;

그다음 METHOD를 생성해줍니다.


  1. // back키 처리
  2. public void onBackPressed()
  3. {
  4.     // Back 키가 첫번째로 눌린 경우
  5.     if(mPressFirstBackKey == false)
  6.     {
  7.         Toast.makeText(this"두번 누르시면 종료됩니다."1).show();
  8.         mPressFirstBackKey = true;
  9.        
  10.         // Back키가 2초내에 두번 눌렸는지 감지
  11.         TimerTask second = new TimerTask()
  12.         {
  13.             @Override
  14.             public void run()
  15.             {
  16.                 mTimer.cancel();
  17.                 mTimer = null;
  18.                 mPressFirstBackKey = false;
  19.             }
  20.         };
  21.         if(mTimer!= null)
  22.         {
  23.             mTimer.cancel();
  24.             mTimer = null;
  25.         }
  26.         mTimer = new Timer();
  27.         mTimer.schedule(second, 2000);
  28.     }else
  29.         super.onBackPressed();
  30. }


전 버전에서 작동되는것 확인했습니다.