I'm trying to disable the back button on my Cordova app. I'm using AngularJS + Ionic Framework. I found topics about this and tried the code bellow, but it has absolutely no effect. Any idea?
index.html
<head> <script> document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { document.addEventListener("backbutton", function (e) { e.preventDefault(); console.log("hello"); }, false ); } </script> </head>
Note that when I push back button, I have "hello" displayed in my console.
The hardware back button is found on most Android devices. In native applications it can be used to close modals, navigate to the previous view, exit an app, and more. By default in Ionic, when the back button is pressed, the current view will be popped off the navigation stack, and the previous view will be displayed.
backButton. subscribeWithPriority(99999, () => { navigator['app']. exitApp(); });
In Android application we generally press/ tap back to go back view or page but in root activity or root page in Ionic application this back press operation closes or minimize the application to the recent list.
App. exitApp(); Force exit the app. This should only be used in conjunction with the backButton handler for Android to exit the app when navigation is complete.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With