When can onTaskRemoved() be called?

送分小仙女□ 提交于 2019-11-27 23:57:44

问题


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?


回答1:


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.



来源:https://stackoverflow.com/questions/40072294/when-can-ontaskremoved-be-called

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!