안드로이드 스튜디오 뒤로가기 버튼(android studio back button)
by atomic0x90 (Yujun Han)
뒤로 가기 막기
Activity 화면 전환 시 뒤로 가기 버튼을 누르면 이전 화면으로 돌아간다.
이것을 방지하기 위해서는 다음 코드를 .java 코드에 삽입한다.
code
@Override
public void onBackPressed() {
//super.onBackPressed();
}
뒤로 가기 버튼의 기능을 막기 위해 super.onBackPressed();
를 주석 처리했다. 해당 코드를 삭제해도 무방하다.
뒤로 가기 버튼 2번 입력 후 앱 종료
기본 상태에서 앱을 개발하면 뒤로 가기 버튼 한 번에 앱이 종료된다.
이것은 의도된 게 아니라면 사용자가 불편을 느낄 수 있다.
그래서 뒤로 가기 버튼을 한번 눌렀을 때 한 번 더 뒤로 가기 버튼을 누르면 앱이 종료된다는 메시지를 띄어준다.
다음 코드를 .java 코드에 삽입한다.
code
// 마지막으로 뒤로 가기 버튼을 눌렀던 시간 저장
private long backKeyPressedTime = 0;
// 첫 번째 뒤로 가기 버튼을 누를 때 표시
private Toast toast;
@Override
public void onBackPressed() {
//super.onBackPressed();
// 기존 뒤로 가기 버튼의 기능을 막기 위해 주석 처리 또는 삭제
// 마지막으로 뒤로 가기 버튼을 눌렀던 시간에 2.5초를 더해 현재 시간과 비교 후
// 마지막으로 뒤로 가기 버튼을 눌렀던 시간이 2.5초가 지났으면 Toast 출력
// 2500 milliseconds = 2.5 seconds
if (System.currentTimeMillis() > backKeyPressedTime + 2500) {
backKeyPressedTime = System.currentTimeMillis();
toast = Toast.makeText(this, "뒤로 가기 버튼을 한 번 더 누르시면 종료됩니다.", Toast.LENGTH_LONG);
toast.show();
return;
}
// 마지막으로 뒤로 가기 버튼을 눌렀던 시간에 2.5초를 더해 현재 시간과 비교 후
// 마지막으로 뒤로 가기 버튼을 눌렀던 시간이 2.5초가 지나지 않았으면 종료
if (System.currentTimeMillis() <= backKeyPressedTime + 2500) {
finish();
toast.cancel();
toast = Toast.makeText(this,"이용해 주셔서 감사합니다.",Toast.LENGTH_LONG);
toast.show();
}
}
감사합니다.
홈으로 가기 | 더 많은 android post 보기 | post 목록 보기 |
---|---|---|