How to prevent Android from closing web-application when backbutton is pressed?

android, back-button, cordova, javascript

Solution

I solved my own question by adding the code below to the `DefaultActivity.java` file to prevent the default android behavior, and keeping the JavaScript code as stated in the question:

@Override
public void onBackPressed() {
   return;
}

I hope this helps someone in the future with the same problem!

Problem

I am developing a HTML5 web-application and compiling it with Cordova (phonegap) 1.7. I want to override the Android backbutton so that I can call window.history.back() instead of closing the application (default Android). How can I prevent Android from killing the defaultactivity on back button pressed? I get the "Back button pressed!!!!" in logcat, so the method is fired before the application is closed. This is what I have so far: ``` // Wait for Cordova to load // document.addEventListener("deviceready", onDeviceReady, false); // Cordova is ready // function onDeviceReady() { document.addEventListener("backbutton", function(e) { console.log("Back button pressed!!!!"); window.history.back(); }, false); } ``` EDIT: I am willing to accept an answer explaining a way to simulate the window.history.back() directly from the DefaultActivity.java android class if that is possible!

Original source