Backキーでアプリを終了させたいです
monacaでandroidアプリを開発しています。
アプリの動きでよくあるような
backキー(戻るボタン)を押す→
ダイアログ表示→「終了しますか?」「キャンセル」
- 終了しますかを押すとアプリ終了
- キャンセルを押すとアプリに戻る
のような形にしたいと考えているのですが・・・
document.addEventListener("backbutton", onBackPressed, false);
function onBackPressed(){
confirmExit()
}
function confirmCallback(id){
if(1 == id){
navigator.app.exitApp();
}
}
function confirmExit(){
navigator.notification.confirm("アプリケーションを終了しますか?", confirmCallback, "終了メニュー", "終了,キャンセル")
}
上記のコードで理想通りの形になったのですが、いざアプリをビルドすると全く動きません。
何が悪いのでしょうか?
初心者のため解決方法をコードにて教えていただきたいです。
よろしくお願いいたしますm(__)m
Myakuさんにご指摘いただいた通り以下のコードでやってみましたがやはりダメでした。
ビルドする前(デバッカー上)は、戻るを押すとダイアログが表示され、終了を押せば終了、キャンセルでダイアログが消えるのですが、ビルド後は戻るを押してもダイアログが表示されず、また戻ることもできなくなる→戻るボタンが機能しなくなる状態です。
index.html
含め、全3ページで構成しているのですが、全ページで戻るボタンが効かなくなります。
その他は特に異常はありません。エラーも出ていない状態です。
ページ内容に問題があるのかと思い、リンク用ボタンのみ配置してみましたが、やはりビルド後は戻るボタンが効かなくなる状態です。
どうぞよろしくお願いしますm(__)m
document.addEventListener(
"deviceready",
function(){
document.addEventListener("backbutton", onBackPressed, false);
},
false
);
function onBackPressed(){ confirmExit(); }
function confirmCallback(id){
if(1 == id){ navigator.app.exitApp(); }
}
function confirmExit(){
navigator.notification.confirm(
"アプリケーションを終了しますか?",
confirmCallback,
"終了メニュー",
"終了,キャンセル"
);
}