何时可以调用onTaskRemoved()?

时间:2016-10-16 16:01:23

标签: android android-service android-lifecycle

文档声明

  

如果服务当前正在运行且用户有,则调用此方法   删除了来自服务应用程序的任务。

似乎只有当应用程序从最近的任务列表中滑出时才会调用它。按下后退按钮直到任务中的所有android:windowSoftInputMode="adjustPan" 都被销毁,这不会导致调用它。还有其他情况可以调用吗?

1 个答案:

答案 0 :(得分:10)

  

按下后退按钮,直到任务中的所有活动都被销毁,这不会导致调用它。

通过按后退按钮完成Activities并不意味着将终止正在运行的服务和应用程序进程。服务会继续运行(如果没有显式或自行停止),除非系统终止了该过程,因此如果您正确说明了Service.onTaskRemoved(),则不会调用Activities

  

还有其他情况可以调用吗?

不,但documentation中描述的那个,其中“用户已删除任务”意味着将应用从任务列表中滑出*。从手机设置中停止Service不会触发Service.onTaskRemoved()

* AFAIK,在极少数情况下Service.onTaskRemoved()可能无法调用。功能