Disable hardware back button in Ionic application?
Finally found the answer on this Ionic Forum thread:
$ionicPlatform.registerBackButtonAction(function () {
if (condition) {
navigator.app.exitApp();
} else {
handle back action!
}
}, 100);
$ionicPlatform.registerBackButtonAction
allows to completly overwrite back button behavior.
First param is a callback function and the secondone a priority (only the callback with the highest priority gets executed).
Its simple trick prevent go back to single page:
`.controller('DashCtrl', function($scope,$ionicHistory) {
$ionicHistory.clearCache();
$ionicHistory.clearHistory();
})`
$ionicPlatform.registerBackButtonAction(function (event) {
event.preventDefault();
}, 100);
this will prevent back button functionality.
To expand upon David D's answer I have included the go back implementation.
Put this in your applications .run
function:
$ionicPlatform.registerBackButtonAction(function (event) {
if ($ionicHistory.currentStateName() === 'someStateName'){
event.preventDefault();
} else {
$ionicHistory.goBack();
}
}, 100);
This will not work in controllers, it is application wide.