从Android的“最近列表”中删除应用程序后,如何触发事件

时间:2019-02-07 04:58:00

标签: android android-6.0-marshmallow android-lifecycle android-recents android-ondestroy

当我的应用程序从最近的列表中删除时,我想重新启动它。我在onDestroy()方法中添加了重新启动代码。在 Android 7 及更高版本中可以正常运行。但是在 Android 6 和更低版本上,它无法正常工作。 onDestroy()方法仅在按下后退按钮时被调用。

1 个答案:

答案 0 :(得分:0)

onDestroy()不被调用是很明显的行为。当用户从最近的任务中滑动时,该应用程序将立即被杀死,而不会调用生命周期方法。如果您通过onDestroy() documentation,将会发现:

  

注意:不要指望此方法被称为保存数据的地方!例如,如果活动正在内容提供商中编辑数据,则这些编辑应在onPause()或onSaveInstanceState(Bundle)中提交,而不是在此处提交。通常实现此方法以释放与活动相关联的线程之类的资源,以使被破坏的活动不会在其其余应用程序仍在运行时留下这些东西。在某些情况下,系统会简单地杀死活动的托管过程,而无需在其中调用此方法(或任何其他方法),因此,不应将其用于处理在该过程消失后仍然存在的事情。

但是有一种解决方法。

如果要处理26以下的API级别的任务终止事件,请访问 THIS StackOverflow answer 。这肯定可以工作。