【发布时间】:2013-05-10 13:42:01
【问题描述】:
在 ICS 中的最近应用程序列表中执行“滑动退出”后,音乐 Service 被停止,我遇到了问题。服务以START_REDELIVER_INTENT 启动,几秒钟后会自动重新启动,但我想完全阻止停止。
“滑动退出”行为通常是未知的,我的全部知识都基于此thread。 它包含来自一位 Google 员工的 cmets:
[W]当你刷掉最近的任务时会发生什么:(1)杀死应用程序的任何后台或空进程(参见http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html#Lifecycle了解这意味着什么),以及(2)使用新的@ 987654323@ API 告诉应用程序的任何服务有关被删除的任务,以便它可以做任何它认为合适的事情。
和
实际上,删除最近任务中的条目将杀死该进程存在的所有后台进程。它不会直接导致服务停止,但是有一个 API 可以让他们找出任务已被删除,以决定他们是否希望这意味着他们应该停止。这样一来,删除电子邮件应用程序的最近任务不会导致它停止检查电子邮件。 如果你真的想完全停止一个应用程序,你可以长按最近的任务去应用程序信息,然后在那里点击强制停止。停止是完全终止应用程序 - 所有进程都被终止,所有服务停止,所有通知被移除,所有警报被移除,等等。除非明确请求,否则不允许再次启动应用程序。
根据第二条评论,我的Service 应该能够自行决定它想要做什么 - 相反,它会在我没有任何操作的情况下停止并稍后重新启动。
任何想法如何处理它?使用START_STICKY 的效果完全相同...
【问题讨论】:
标签: android service android-service