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?
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.