我想从最近的列表中删除我的应用程序时重新启动它。我在onDestroy()
方法中添加了重启代码。它在Android 7及更高版本中运行良好。但是在Android 6和更早的版本上,它不起作用。onDestroy()
方法仅在按下后退按钮时调用。
问问题
1883 次
1 回答
1
onDestroy()
不被调用是一种很明显的行为。当用户从最近的任务中滑动时,应用程序会立即被终止,而不会调用生命周期方法。如果您浏览onDestroy() 文档,您会发现:
注意:不要指望这个方法被称为保存数据的地方!例如,如果一个活动正在内容提供者中编辑数据,那么这些编辑应该在 onPause() 或 onSaveInstanceState(Bundle) 中提交,而不是在这里。此方法通常用于释放资源,例如与活动相关联的线程,以便被破坏的活动不会在其应用程序的其余部分仍在运行时留下这些东西。在某些情况下,系统会简单地终止 Activity 的宿主进程,而不会在其中调用此方法(或任何其他方法),因此不应使用它来执行打算在进程消失后保留的事情。
但是有一个解决方法。
如果您想处理低于 26 的 API 级别的任务终止事件,请访问此 StackOverflow 答案。这肯定会起作用。
于 2019-02-07T05:16:32.723 回答