백 버튼을 연속 두 번 클릭해야 앱 종료 시키는 경우가 있다.
RxJava 의 skip(2) 를 이용해도 되는데, skip은 다시 초기화를 시켜주는 작업을 또 해줘야 한다.
그럴 바엔 그냥 이 코드를 쓰는 게 낫지 싶다.
private static long backPressedAt; @Override public void onBackPressed() { if (backPressedAt + TimeUnit.SECONDS.toMillis(2) > System.currentTimeMillis()){ super.onBackPressed(); } else{ Toast.makeText(getBaseContext(), "두 번 클릭해야 앱 종료", Toast.LENGTH_SHORT).show(); backPressedAt = System.currentTimeMillis(); } }
도움 받은 곳: https://gist.github.com/CreatorB/99cdb013a4888453b8a0