2015-10-04 97 views
1

我正在运行10秒的定期时间间隔的服务。它工作正常,但当我更新谷歌Play商店中的应用程序后,服务没有运行,直到我重新启动我的手机。Android服务在更新应用程序后停止

什么是可能的原因

+0

这是完全自然的。当应用程序更新时,首先它被关闭(并且短时间内被卸载),因此活动和服务被销毁。如果真的有必要,您应该考虑在任何情况下重新启动服务的方式。否则,它将在您启动应用程序时启动(如果您明确地从主活动中调用它)。 –

+0

我的服务用于数据同步。如果有人更新应用程序并从不打开它,该怎么办?那么服务将永远不会启动,用户将永远不会获得新的数据。更新应用程序后有什么方法可以启动服务吗? –

+0

当然可以。您必须捕获操作系统发送的一些广播。作为例子,它可能是Network Change。在这种情况下,当网络发生变化时,您通过再次启动服务对广播做出反应。 AFAIK没有这样做的官方方式,因为Android不认为有什么必须运行。但建议的解决方法是使用一些广播(因此,新的权限)。 –

回答

2

您可以收到ACTION_MY_PACKAGE_REPLACED广播事件,然后重新启动您的服务

+0

请将我的解决方案标记为答案或指出我的答案中不清楚的内容 – mxttie

相关问题