backbutton 으로 앱종료하기

backbutton 버튼클릭시 앱 종료 처리하기.


기본적으로 backbutton 버튼을 클릭하게 되면, 뒤로가기가 실행된다.

이부분을 앱의 처음화면일 경우 종료메세지가 출력되고 확인후 종료되게 하려면, backbutton 동작을 override 시켜서 처리해야 한다.

이때, 메인activity에서 backbutton 동작을 override 시키면 그 이후 화면에서도 backbutton 기능이 override 되서 동작을 재정의 해줘야 한다.

이부분을 피하기 위해서 메인 이외의 페이지에서는 backbutton override 가 안되게 하면된다.

아래 그 부분에 대한 code 이다. 기본적으로 backbutton의 override는 cordova(phonegap) 프레임워크를 이용해서 처리했다.


1.메인화면(앱실행시 첫화면)

아래 코드로 메인화면에서 backbutton 클릭시 종료여부 확인메세지 출력됨.

document.addEventListener("deviceready", onDeviceReady, true);

function onDeviceReady(){
document.addEventListener("backbutton", onBackKeyDown, true);
}
function onBackKeyDown() {
    navigator.notification.confirm(msg.close, onBackKeyDownMsg, '종료', '취소, 종료');
}
function onBackKeyDownMsg(button){
if(button==2){
navigator.app.exitApp();
}
}

2. sub페이지들에서 backbutton override 없애고, 기본동작 처리하기.
위에서 처럼 device가 load된후에 
navigator.app.overrideBackbutton(false);
이부분을 추가해주면 된다.

document.addEventListener("deviceready", onDeviceReady, true);

function onDeviceReady(){
navigator.app.overrideBackbutton(false);
}


- 안드로이드, android,폰갭,phonegap,cordova, backbutton, 종료기능 -