启动隐式意图后,应用程序将被终止

时间:2014-09-09 23:17:37

标签: android android-intent

我喜欢在“不要保持活动”的情况下测试我的应用程序,以确保一切都能在Android破坏我的东西的最坏情况下运行。今天我注意到这个设置显然可以(并且通常会)导致我的整个应用程序在我启动隐式导航意图后被销毁。这是一个问题,因为原始开发人员在扩展的Application中放置了一堆重要的后台任务,而不是使用Service,当应用在后台时,Android更有可能保持活力。< / p>

选中“不要保持活动”,我的整个应用程序似乎在导航活动开始时被杀死。我不再看到后台任务的日志记录,当我返回启动导航的活动时,会使用新的未初始化Application重新创建。我不能简单地重新初始化它,因为主要问题是当我的应用程序在后台时,任务需要继续运行。

我没有在新任务中明确启动导航:

String encoded = Uri.encode(nextWaypoint);
Intent navigation = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" + encoded));
startActivity(navigation);

我的Application被摧毁的可能性是不可避免的,因为我的活动被摧毁的可能性是什么?

1 个答案:

答案 0 :(得分:1)

当没有组件使用启动Application的过程时,您的Application将被销毁。因为“不要Activities&#34;当您离开时,该选项会导致Activity被删除,并且您没有任何其他组件使用您的流程,您的Application将被终止。

根据您所描述的内容,您最安全的选择是将您的任务移至Service