后台服务默默地在一段时间后杀死某些设备

时间:2016-08-18 06:14:30

标签: android service background-service

后台服务静默地在一段时间后杀死某些设备。在某些设备上它不断工作。但在这些设备中,如(三星Galaxy Core Prime Android 5.0& 三星S7 ,Android 6)自动停止。来自returns START_STICKY的服务onStartCommand

2 个答案:

答案 0 :(得分:0)

通过 onDestroy()再次致电您的服务。每当该服务被Android杀死时,该服务就会重新启动。

答案 1 :(得分:0)

如果您仅在Android 5或6上工作,那么您可以做很多事情。当您到达奥利奥(Oreo)时会变得更加困难。

首先请注意您的服务为何停止​​。未声明在前台运行的后台操作最终将停止运行,相对于服务所需的处理能力以及事件被调用以来的持续时间而言。但是,这不会终止您的服务,只会暂停它并在以后重新启动它。之所以会出现这种暂停,是因为可用资源非常少,并且前台运行的应用需要所有补充处理能力。

如果是这种情况,那么等待onDestory()函数被调用将无济于事,因为未调用该服务,该服务已暂停。为了确保不会发生这种情况,建议您运行前台服务。 Android曾说过,从理论上讲不会暂停前台服务。

如果确定要继续运行该服务,则可以尝试设置一个显式广播接收器,该接收器通常会从该服务发送一些项目。然后,当经过特定时间但广播接收器未获得输入时,则尝试重新启动服务。如果整个应用被暂停,这可能仍然无效。如果您喜欢该评论的声音,也喜欢我的评论,我会对其进行测试。