When can onTaskRemoved() be called?

14,488

Pressing the back button until all Activities are destroyed in the task does not cause this to be called.

Finishing Activities by pressing the back button doesn't mean that running services and the application process will be terminated. Services keep running (if not explicitly or self stopped) unless the system kills the process, so Service.onTaskRemoved() isn't called in the case of finishing Activities as you correctly stated.

Are there other scenarios where this could be called?

No, but the one described in the documentation, where "the user has removed a task" means swiping the app out from the task list *. Stopping the Service from the phone's settings does not trigger Service.onTaskRemoved().


* AFAIK, in rare cases Service.onTaskRemoved() may not be called.

Share:
14,488
Steve M
Author by

Steve M

Updated on July 13, 2022

Comments

  • Steve M
    Steve M almost 2 years

    The docs state that

    This is called if the service is currently running and the user has removed a task that comes from the service's application.

    It seems as if it is only called when the app is swiped away from the recent task list. Pressing the back button until all Activities are destroyed in the task does not cause this to be called. Are there other scenarios where this could be called?