개발 창고/Android
[Android] 뒤로가기 종료 막기
로이제로
2020. 9. 1. 13:40
반응형
안드로이드 개발을 하다보면 보통 뒤로가기를 잘못눌러 어플이 종료되곤합니다. 때문에 두번 이상 누른 경우에 어플이 종료되길 바라는 경우가 많은데 이 경우 다음과 같이 MainActivity에 적용해주면 좋습니다.
public class MainActivity extends ActivityCompact {
...
//webView 뒤로 가기 처리
private long time = 0;
private Toast toast;
...
@Override
public void onBackPressed() {
if(System.currentTimeMillis()-time >= 2000){
// CASE 이전에 뒤로가기 키를 누른 시간이 2초 이상인 경우 (뒤로가기를 두번 누르지 않은걸로 판단)
// Step01. 현재 누른 시간을 time에 담아줍니다. (뒤로가기를 두번 누른 간격 체크를 위해)
time = System.currentTimeMillis();
// Step02. 한 번 더 눌러야 종료가 됨을 Toast로 알려줍니다.
toast = Toast.makeText(getApplicationContext(),"뒤로 버튼을 한번 더 누르면 종료합니다.",Toast.LENGTH_SHORT);
toast.show();
}else{
// CASE 뒤로가기 키를 2초 이내에 두번 누른 경우
// Step01. 이전에 Toast메시지를 지워줍니다(지우지 않으면 어플이 종료되도 일정시간 이후에 사라지기 때문)
toast.cancel();
// Step02. 어플을 종료해줍니다.
finish();
}
}
반응형