본문 바로가기
programming/android

[Android / 안드로이드] Back버튼(뒤로가기 버튼) 2번 클릭으로 앱 종료하기

by fluorite94 2018. 11. 6.
반응형

 

앱에서 Back버튼(뒤로가기 버튼)을 클릭하면 이전 Activity로 돌아가거나, 앱이 종료 됩니다.

예전에는 뒤로가기 버튼을 클릭하면 앱을 종료하시겠습니까? 라고 다이얼로그창이 떳지만

요즘은 뒤로가기 버튼 2번 클릭으로 앱을 종료하는 방법을 많이들 사용하시더라구요.

 

 

 

public class BackPressCloseHandler {
    private long backKeyClickTime = 0;
    private Activity activity;

    public BackPressCloseHandler(Activity activity) {
        this.activity = activity;
    }
    public void onBackPressed() {
        if (System.currentTimeMillis() > backKeyClickTime + 2000) {
            backKeyClickTime = System.currentTimeMillis();
            showToast();
            return;
        }
        if (System.currentTimeMillis() <= backKeyClickTime + 2000) {
            activity.finish();
        }
    }
    public void showToast() {
        Toast.makeText(activity, "뒤로 가기 버튼을 한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show();
    }
}

BackKeyClickHandler.java

 

public class MainActivity extends AppCompatActivity{

    private BackKeyClickHandler backKeyClickHandler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        backKeyClickHandler = new BackKeyClickHandler(this);
    }

    @Override
    public void onBackPressed() {
    	//super.onBackPressed();
        backKeyClickHandler.onBackPressed();
    }
}

MainActivity.java

 

 

위 소스를 이용해서 작업하시면 됩니다.

반응형


댓글