2012-11-29 86 views
0

我正在使用startService()运行服务,并且运行良好,保持运行状态,但仅运行一段时间,然后停止运行或暂停。我的服务在一段时间后停止或暂停

当我关闭我的应用程序时,调用unbindservice来关闭服务并且它工作正常。 但随着时间的推移,大约30分钟的服务停止工作,但仍然保留在正在运行的服务列表中。会发生什么情况? 我不知道我是否解释得很好:s

+0

在黑暗中刺 - 你的主后台线程默默地击中一个异常并死亡。这不会终止服务,但现在服务没有线程来响应请求。 – Griffin

回答

2

这通常发生在您将服务作为后台服务启动时。操作系统可以随时决定杀死它。

您可以通过将其设置为foreground service来提高您的服务的“重要性”。您还可以选择在onStartCommand中指定所谓的重新兑换标志。这是操作系统用来在需要时重新启动服务的方式,您可以让它重新启动您用来启动它的任何意图。

+0

使用前景显示我在通知栏中。但不知何故,它不显示它?我可以打电话不显示通知? – robertDraven