What is the purpose of using moveTaskToBack() method in android?

前端 未结 3 508
不思量自难忘°
不思量自难忘° 2020-12-09 02:42

I am using moveTaskToBack() method in my activity.

When I am pressing back button the activity still is visible. The back key does not work. What did I do wrong here

相关标签:
3条回答
  • 2020-12-09 02:50

    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.

    0 讨论(0)
  • 2020-12-09 03:01

    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 on SignInActivity 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 on MainActivity 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.

    0 讨论(0)
  • 2020-12-09 03:07

    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.

    0 讨论(0)
提交回复
热议问题