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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…