質問: id) { navigator.app.exitApp(); } } function confirmExit() { navigator.notification.confirm("アプリケーションを終了しますか?", confirmCallback, "終了メニュー", "終了,キャンセル") } ``` アプリケーションを終了しますか?というダイアログは確かに出るのですが、終了を選択する前にアプリが終わってしまいます。 再度アプリを起動させると必要なjsファイルなどが読み込まれていない状態です。 ※AngularJSで動作せてていますが、変数が変わらない為そう判断しています ``` document.addEventListener( "deviceready", function() { document.addEventListener("backbutton", onBackPressed, false); } ,false ); ``` 上記のようなソースではそもそもダイアログも表示されません。 notification、exitappなどのプラグインはインストールしています 何か解決策ありましたら、お願いします。
回答: こんな感じでbackKeyの動作を無効化すればよいのではないでしょうか。 ``` @Override public boolean dispatchKeyEvent(KeyEvent e) { // バックボタンが押されたときの処理 if(e.getKeyCode() == KeyEvent.KEYCODE_BACK && e.getAction() == KeyEvent.ACTION_DOWN) { Log.d("dispatchKeyEvent", "バックボタン押された"); // trueを返すことでbackKeyの動作を無効化 return true; } // バックボタンじゃなかったら通常の動作をする return super.dispatchKeyEvent(e); } ```