アプリ終了時の制御について
cordovaとonsenUIを使ってをangularJSベースでスマホアプリを開発しています。
今回よくあるandroidアプリのように、androidの場合はバックボタンを一回押すと、ダイアログがでてそのダイアログが出ている間に、もう一度バックボタンを押すとアプリが終了するようなものを作りたいと思っています。
以下のようにonsenUIのドキュメント通りに、バックボタンのハンドラー制御は出来て、ダイアログの表示と、自動で消えるまでは出来ました。
HTML
<ons-template id="exit.html">
<ons-dialog cancelable>
<p translate="MSG.EXIT"></p>
</ons-dialog>
</ons-template>
JS
ons.ready(function () {
ons.setDefaultDeviceBackButtonListener(function () {
ons.createDialog('exit.html')
.then(function(dialog) {
dialog.show();
var stop;
stop = $timeout(function() {
dialog.hide();
}, 2000);
});
});
});
しかし、ダイアログのバックボタンは以下のような形で制御可能だとドキュメントには書いてありますが、上記のような仕組みと組み合わせる方法がわかりません。幾つか考えられるコードを書いてみたのですが、思いついたコードではダイアログ表示時のバックボタンの制御ができませんでした。
dialog.getDeviceBackButtonHandler().setListener(function (event) {
navigator.app.exitApp();
});
以上、上記のような終了機能は可能でしょうか? 可能であればその方法をご教授願えれば幸いです。
よろしくお願いいたします。