服务中断时收到

时间:2011-10-04 03:37:14

标签: android service

我正在构建一个应用程序,我需要一个永远不会像android系统服务那样停止的服务。我可以使用start_not_sticky让系统重新启动我的服务,但不能保证我的服务永远不会停止。所以我的想法是,如果有什么方法可以在我的服务关闭时进行广泛接收,我可以重新启动服务。有没有办法接受呢?

1 个答案:

答案 0 :(得分:1)

文档最好地解释了:

  • 使用startForeground(int, Notification) API将服务置于前台状态,系统认为该服务是用户主动了解的内容,因此在内存不足时不能进行查杀。 (理论上,在当前前台应用程序的极端内存压力下,服务仍然可能被杀死,但实际上这不应该是一个问题。)

  • 请注意,这意味着您的服务大部分时间都在运行,如果系统承受很大的内存压力,系统可能会将其杀死。如果发生这种情况,系统稍后将尝试重新启动该服务。这样做的一个重要结果是,如果您实现onStartCommand()来安排异步或在另一个线程中完成的工作,那么您可能希望使用START_FLAG_REDELIVERY让系统为您重新提供一个Intent,以便它如果您的服务在处理过程中被杀死,不会迷路