4

Service在 ICS 中最近的应用程序列表中执行“滑动退出”后,我遇到了音乐停止的问题。服务已启动START_REDELIVER_INTENT并在几秒钟后自动重新启动,但我想完全阻止停止。

“滑动退出”行为通常是未知的,我的全部知识都基于这个线程。它包含来自一位 Google 员工的评论:

[W] 当您刷掉最近的任务时,具体会发生什么:(1)杀死应用程序的任何后台或空进程(请参阅http://developer.android.com/guide/topics/fundamentals/processes-and- threads.html#Lifecycle这意味着什么),以及(2)使用新的http://developer.android.com/reference/android/app/Service.html#onTaskRemoved(android.content.Intent) API 来告诉任何应用程序关于被删除任务的服务,以便它可以做它认为合适的任何事情。

实际上,删除最近任务中的条目将杀死该进程存在的所有后台进程。它不会直接导致服务停止,但是有一个 API 可以让他们找出任务已被删除,以决定他们是否希望这意味着他们应该停止。这样一来,删除电子邮件应用程序的最近任务不会导致它停止检查电子邮件。如果你真的想完全停止一个应用程序,你可以长按最近的任务进入应用程序信息,然后在那里点击强制停止。对于停止是应用程序的完全终止——所有进程都被终止,所有服务停止,所有通知被删除,所有警报被删除,等等。除非明确请求,否则不允许再次启动应用程序。

根据第二条评论,我Service应该能够自己决定它想要做什么 - 相反,它会在我没有任何动作的情况下停止并稍后重新启动。

有什么想法吗?使用START_STICKY完全相同...

4

1 回答 1

0

将您的服务放在前台。请注意,当服务在前台运行时,您必须显示正在进行的通知。

于 2013-05-10T13:56:33.687 回答