본문 바로가기

android

뒤로버튼 빠르게 두번 눌러 어플 종료하기


  

네이버어플을 보면 뒤로 버튼을 누르면 위 사진과 같은 Toast가 나오고 뒤로버튼을 한번 더 누르면 어플을 종료하게 되죠.  저도 나름 구현해 봤습니다. 

long backKeyClick=0;
long backKeyClickTime;
 
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
      
        if ((keyCode == KeyEvent.KEYCODE_BACK) ) {

         long currentTime = System.currentTimeMillis();
         final int duration = 2000;
        
         backKeyClick ++;
        
         if (backKeyClick == 1){
          backKeyClickTime = System.currentTimeMillis();
          
          Toast t =  Toast.makeText(context,
            "워드톡을 종료하려면 '뒤로'버튼을  한번 더 누르세요.",
            Toast.LENGTH_SHORT);
          t.setDuration(duration);
          t.show();
          
          new Thread(new Runnable() {    

     @Override
     public void run() {
      try {
       Thread.sleep(duration);
      } catch (InterruptedException e) {
       e.printStackTrace();
      }
      backKeyClick=0;
     }
    }).start();
         }else if(backKeyClick == 2){

          if(currentTime - backKeyClickTime <= duration  ){
           return super.onKeyDown(keyCode, event);
          }
          backKeyClick = 0;
         }
         return true;  
        }       
        return super.onKeyDown(keyCode, event);   
 }



'android' 카테고리의 다른 글

get favicon  (0) 2014.01.07
1  (0) 2011.11.14
Zetty GMPlayer (굿모닝팝스 청취 전용 앱)  (0) 2011.02.06
url 짧게 만들기(shortened url)  (0) 2011.02.01
Webpage 스크린 캡쳐해 Bmp로 저장하기  (0) 2011.01.29