All I want is to exit the application only when back stack is empty.
One section of my app contains a gallery,in which, when a picture is clicked, a fragment showing the full screen image is opened. When back button is pressed in this full screen image, I want to go back to the gallery fragment. I did this by adding the fragment to back stack.
But in other parts of the application, when back button is pressed, I want to show a toast "Please click BACK again to exit". And when the back button is pressed again, the app closes. How can I do this?
This is what I have done so far:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0 ){
getFragmentManager().popBackStack();
} else {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
commonTasks.ShowStringMessage("Please click BACK again to exit");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
//super.onBackPressed();
}
}
Obviously, it didn't work.