Androidアプリ(6.0)のビルドにCordova 6.xを使用しています。イベントリスナーを使用して戻るボタン機能をオーバーライドしました。しかし、このイベントリスナーは、アプリケーションの初回起動時に呼び出されます。しかし、私がアプリを終了して再起動すると、このイベントリスナーが戻るボタンを押すと呼び出されます。Androidアプリの初回起動時にCordovaの戻るボタンが機能しない
index.htmlを
...
<script src="cordova.js"></script>
<script type="text/javascript" src="app.js"></script>
<body ng-app="app" ng-controller="appController">
...
app.js
...
angular.module('app', []).controller("appController", function($scope) {
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady()
{
console.log("On device ready called");
document.addEventListener('backbutton', onBackButton, false);
}
function onBackButton()
{
console.log("Back button pressed");
}
});
...
私は、インストール後にアプリを初めて起動すると、ログは "と呼ばれる準備ができて、デバイス上で" 持っています。しかし、アプリを再起動して戻るボタンを押すと、ログには「デバイスの準備ができました」と「戻るボタンが押されました」が表示されます。 ご協力いただければ幸いです。
[ドキュメント](https://cordova.apache.org/docs/en/4.0.0/cordova/events/events.deviceready.htmlは)_The deviceready語りますイベントは他のイベントとは多少異なる動作をします。デバイスイベントが発生した後に登録されたイベントハンドラは、即時コールバック関数を持っています._ – solarc
しかし、[戻る]ボタンを押すと、 "バックボタン"イベントが発生します。したがって、アプリケーションの初回起動時には発生していないハンドラ "onBackButton"が呼び出される必要があります。 –