![](https://tistory1.daumcdn.net/tistory/820468/skin/images/banner.png)
티스토리 뷰
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 이다
제대로 출력된 모습이다
'프로그래밍 > Android' 카테고리의 다른 글
[Android / Java] startActivityForResult() onActivityResult() deprecated (0) | 2024.01.02 |
---|---|
[Android / Java] onBackPressed() deprecated (0) | 2024.01.02 |
[Android] 에뮬레이터가 반응 없을때 조치법 (0) | 2011.10.18 |
[Android] 에뮬레이터 실행 옵션(이클립스 내에서) (0) | 2011.10.17 |
[Android] 버튼 등으로 메뉴 호출하기 (0) | 2011.10.06 |
![](https://tistory1.daumcdn.net/tistory/820468/skin/images/banner.png)