当我的应用程序从最近的列表中删除时,我想重新启动它。我在onDestroy()
方法中添加了重新启动代码。在 Android 7 及更高版本中可以正常运行。但是在 Android 6 和更低版本上,它无法正常工作。 onDestroy()
方法仅在按下后退按钮时被调用。
答案 0 :(得分:0)
onDestroy()
不被调用是很明显的行为。当用户从最近的任务中滑动时,该应用程序将立即被杀死,而不会调用生命周期方法。如果您通过onDestroy() documentation,将会发现:
注意:不要指望此方法被称为保存数据的地方!例如,如果活动正在内容提供商中编辑数据,则这些编辑应在onPause()或onSaveInstanceState(Bundle)中提交,而不是在此处提交。通常实现此方法以释放与活动相关联的线程之类的资源,以使被破坏的活动不会在其其余应用程序仍在运行时留下这些东西。在某些情况下,系统会简单地杀死活动的托管过程,而无需在其中调用此方法(或任何其他方法),因此,不应将其用于处理在该过程消失后仍然存在的事情。
但是有一种解决方法。
如果要处理26以下的API级别的任务终止事件,请访问 THIS StackOverflow answer 。这肯定可以工作。