What is the purpose of using moveTaskToBack() method in android?
The purpose of moveTaskToBack:
http://developer.android.com/reference/android/app/Activity.html
moveTaskToBack(boolean nonRoot)
Move the task containing this activity to the back of the activity stack.
What you could do is:
public void onBackPressed() {
moveTaskToBack(true); // I don't think you're looking for this.
new Finalizer().killApp(false); // Neither this.
super.onBackPressed();
}
Maybe this: Android: Go back to previous activity
Something similar in your onBackPressed()
after super.OnBackPressed();
Also make sure when you're hitting your back button, you're actually going in this method.
Before i update the code, when i want to close my app in these situations, something unexpected happen to me.
Launch -> isSignIn(yes) ->
MainActivity
-> Press Back -> Close.
Launch -> isSignIn(no) ->
SignInActivity
-> Press Back -> Close.
Launch -> isSignIn(yes) ->
MainActivity
-> Press Sign Out ->SignInActivity
-> Press Back ->SignInActivity
-> Press Back ->SignInActivity
(and so on loop and stuck onSignInActivity
until i press history/recent app/home button).
Launch -> isSignIn(no) ->
SignInActivity
-> Press Sign In ->MainActivity
-> Press Sign Out ->SignInActivity
-> Press Sign In ->MainActivity
-> Press Back ->MainActivity
-> Press Back ->MainActivity
(and so on loop and stuck onMainActivity
until i press history/recent app/home button).
Now i provide this code both on SignInActivity
that has Sign In button and MainActivity
that has Sign Out button.
@Override
public void onBackPressed() {
super.onBackPressed();
moveTaskToBack(true);
finish();
}
It's now working fine on every situations. When i press Back, the application close.
If you call super
it triggers the default implementation of back button, which just finishes the current activity. Try removing the line super.onBackPressed();
and then see if the new behavior is what you expect.