반응형
안드로이드 스튜디오에서 onBackPressed()는 뒤로가기 버튼을 눌렀을 때
실행시킬 코드를 담는 함수입니다.
@Override
public void onBackPressed(){
//뒤로가기 버튼을 눌렀을 때 실행 시킬 코드
}
1. 뒤로가기 버튼 막기
뒤로가기 버튼을 눌렀을 때 아무일도 발생하지 않도록 하는 코드는
onBackPressed(){}안에 아무것도 입력하지 않는 것입니다.
그러면 뒤로가기 버튼을 눌러 onBackPressed()가 호출되어도
실행할 코드가 존재하지 않기 때문입니다.
@Override
public void onBackPressed() {
}
2. 2번 클릭시 종료하기
어플리케이션을 종료하기 위해 뒤로가기 버튼을 누르면 toast메세지로
"다시 한 번 누르시면 앱이 종료됩니다."라는 문구를 굉장히 많이 보셨을 것 입니다.
이렇게 만듦으로써 사람들이 의도치 않은 어플리케이션의 종료를 방지하고
다시 한 번 어플리케이션을 이용할 수 있는 기회를 제공할 수 있습니다.
private long Time = 0; //마지막에 뒤로가기 버튼 누른 시간
private Toast toastMessage;
---생략---
@Override
public void onBackPressed() {
if (System.currentTimeMillis() > Time + 2500) { // 현재 시간이 Time + 2500보다 무조건 크기 때문에 실행됨
Time = System.currentTimeMillis(); // Time = 현재시간 으로 변경
toastMessage = Toast.makeText(this, "종료하시려면 한 번 더 누르세요!", Toast.LENGTH_LONG);
toastMessage.show(); // 토스트메세지 출력
return;
}
if (System.currentTimeMillis() <= Time + 2500) { // 2.5초 뒤에 다시 한 번 눌렀을 때 실행될 코드
finish(); // 액티비티 종료
toastMessage.cancel();
}
}
이렇게 currentTimeMillis()를 이용하여 뒤로가기 버튼을 한 번 눌렀을 때
"종료하시려면 한 번 더 누르세요."라는 토스트 메세지가 뜨게 하고
토스트 메세지가 뜬 지 2.5초 이내에 뒤로가기 버튼을 한 번 더 눌렀을 때
액티비티가 정상적으로 종료될 수 있도록 만들 수 있습니다.
반응형
'안드로이드 스튜디오 앱 개발 > 실제 앱 개발 과정' 카테고리의 다른 글
[Android Studio] 아이템 값 중복검사 for 문을 이용하여 쉽게 하는 방법 알아보기 (0) | 2023.07.02 |
---|---|
안드로이드 스튜디오 카드 뒤집기 애니메이션 만들기 [Android Studio] (0) | 2023.06.30 |
안드로이드 스튜디오 앱 아이콘 만들기 [Android Studio] (1) | 2023.06.27 |
안드로이드 스튜디오 EditText 글자 수 제한, 미리 보기, 길이 고정하기[Android Studio] (0) | 2023.06.18 |
안드로이드 스튜디오 BottomNavigationView 간단하게 만드는 방법 알아보기 [Android Studio] (1) | 2023.06.18 |