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

조회수 1717회

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

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);
    } 
    

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)