在几个应用程序中,我们使用本地服务(例如)记录位置。这段时间可以工作一段时间(例如4小时或150公里),然后Android关闭(不再需要)服务。该服务不会崩溃它的Android决定关闭服务。如果Android关闭,需要通知服务
这是写在文档中,没关系,但我需要找出服务已关闭。我怎样才能做到这一点?
我想尽快重新启动我们的服务。你们如何发现一款服务已被Android关闭?你用完了吗?
在此先感谢。
在几个应用程序中,我们使用本地服务(例如)记录位置。这段时间可以工作一段时间(例如4小时或150公里),然后Android关闭(不再需要)服务。该服务不会崩溃它的Android决定关闭服务。如果Android关闭,需要通知服务
这是写在文档中,没关系,但我需要找出服务已关闭。我怎样才能做到这一点?
我想尽快重新启动我们的服务。你们如何发现一款服务已被Android关闭?你用完了吗?
在此先感谢。
您是否试图从Service.onStartCommand()
方法中返回Service.START_STICKY
或Service.START_REDELIVER_INTENT
?
感谢您的回答。我总是使用Service.START_STICKY。 –
你的服务在Android被销毁后重启吗? – Michael
不,定义。文档称Android会尝试重新启动,但也不能保证。所以没有onDestroy保证和没有重新启动保证。真的很想知道你们如何解决这个问题。 –
应该调用您的服务的onDestroy方法,因为它被Android OS销毁。此外,您应该在日志中看到通常在短时间内重新启动您的服务的日志,这些日志会在日志中显示,因为它已被销毁,根据我的经验,它会在重新引导之前大约15-30秒。 (您应用中的每项服务都将以随机顺序启动,因此请注意,某些服务是否依赖于您的应用中的其他服务。)
嗯,我的服务从未重新启动。并且onDestroy永远不会被调用。我知道肯定是因为像NotificationBar中的图标以及更多内容都会在onDestroy中删除,并且每当Android决定“不再需要”我的服务时,这些项目仍然处于活动状态,并且服务已经消失。我在某处读到,在服务终止时,你会收到onDestroy没有任何保证。 –
想知道为什么我收到downvote而没有解释。不好的风格。 –