从任务管理器杀死Android应用程序会杀死由app启动的服务

时间:2012-07-06 14:38:40

标签: android android-activity android-service

我的应用程序有一个活动,它启动两个服务但不绑定它们。如果我选择退出按钮退出应用程序(我在任务管理器中看不到它),应用程序启动的两个服务都会继续运行。但是,如果我转到任务管理器并终止应用程序,则两个服务都会停止。我不确定它是否是预期的行为,但我希望服务在应用程序退出后继续运行。请有任何想法。

由于

4 个答案:

答案 0 :(得分:9)

这是任务管理器的预期行为(并强制在ManageApplication中停止)。如果应用程序在运行应用程序正在执行的后台工作时停止应用程序会有什么用?

您无法阻止用户在Android OS的库存版本上终止您的服务

答案 1 :(得分:2)

This is the behaviour expected. Services do not run in their own process。当你的应用程序被杀死时,你的整个过程就会消失。

在我附上的文档中,有一个橙色块向下翻页(不幸的是,我不认为我可以链接到它:-()这将告诉你一个简单的服务是什么。

答案 2 :(得分:0)

我不确定!但你应该尝试this

答案 3 :(得分:0)

正如已经提到的那样,它是预期的行为。杀死启动服务的应用程序也应该杀死正在运行的服务。如果您希望在应用程序被终止时保持服务运行,您应该在一个单独的过程中启动服务,可以通过Manifest中的以下声明实现:

<service
    android:name=".ServiceClassName"
    android:process=":yourappname_background" >
    ...

参考:https://stackoverflow.com/a/15474347/1150795

请注意,通常应用程序不会被杀死,直到用户明确将其从任务/应用程序管理器中杀死,或者系统由于资源有限,电池电量不足或类似原因而将其杀死。我不确定它是否是处理此类事情的典型用例,如果您真的需要关心它。