back버튼을 더블클릭했을때 액티비티를 종료하고싶은데 어떻게하면 좋을까요?


구글 플레이 스토어에 올라온 게임들이나 애플리케이션들을 보면 뒤로가기 눌렀을때 바로 종료안되고 토스트를 띄운다든지 다이얼로그를 띄운다든지하고 연속으로 두번 눌렀을때만 액티비티를 종료시키잖아요. 저도 이렇게 만들고 싶은데 그런 기능을 제공하는 메소드가 따로 있는것 같지는 않고 어떻게하면 좋을지 모르겠어서 에스큐에 질문을 올려요. 어떻게하면 좋을까요?

  • 2016년 02월 11일에 작성됨

조회수 229


1 답변


좋아요
0
싫어요
채택취소하기
boolean doubleBackToExitPressedOnce = false;

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce=false;                       
        }
    }, 2000);
} 

이 메소드를 해당 액티비티에 붙여넣기하시면 됩니다.

  • 2016년 02월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close