[PhoneGap] 안드로이드 기기 Back 버튼 동작
1. HTML 페이지가 로딩될때 이벤트 리스너 등록
2. 리스너 동작시 실행될 함수 정의
3. 버튼 동작에 따라서 실행될 기능 정의
- HTML
<body onload="onLoad()">
- 자바스크립트
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
navigator.notification.confirm('종료하시겠습니까?', onBackKeyDownMsg, '종료', '취소, 종료');
}
function onBackKeyDownMsg() {
if(button == 2) {
navigator.app.exitApp();
}
}
이렇게만 해주면 백 버튼이 잘 동작한다
deviceready를 등록하지 않고 바로 backbutton을 했더니 아무리해도 동작이 안되어서 위처럼 해주었더니 잘된다
그냥 confirm을 쓰지 않고 navigator.notification.confirm을 쓴 이유는
브라우저에서는 아무 문제가 없지만 폰에서는
이렇게 Confirm 이라는 제목이 자동으로 붙는다 -_-;;
그리고 세번째 인자 '취소, 종료' 부분은 순서가 바뀌어서 출력되기 때문에 거꾸로 써줬다
리터값은 취소 = 1, 종료 = 2 이다
제대로 출력된 모습이다