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).
$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.