【发布时间】:2016-06-28 14:39:08
【问题描述】:
我有一个包含 2 项服务的应用程序:
MessagingService extends FirebaseMessagingService
和
InstanceIDService extends FirebaseInstanceIdService
在AndroidManifest.xml 文件中有声明。
问题是当我的应用程序的进程被强制关闭时,服务也会被杀死。
我希望他们不要被杀。我听说过Service 类的START_STICKY 标志,但我不能在这些服务中重写onStartCommand() 方法以返回这个标志...
【问题讨论】:
-
这些服务将由始终在设备上运行的 Google Play 服务启动。您不必也不应该自己启动/停止这些服务。
-
@ArthurThompson 在我的 onMessageReceived() 方法中,我放置了一个日志,当我杀死我的应用程序并发送下游通知时,日志没有被执行......这就是为什么我认为服务在我的应用程序所在的地方被杀死。
-
onMessageReceived 在发送数据消息时总是会被调用,但在发送通知消息时有时不会被调用。您要发送哪种类型的下游消息?
-
这种情况发生在多台设备上还是仅在一台设备上,我想知道设备上的操作系统是否可能会限制在相应的应用程序被杀死时可以启动哪些服务。设备上可能存在允许/禁止此操作的设置。
-
根据我的经验,在设置中强制关闭会停止服务。但滑动关闭不应该。 @ArthurThompson 某处有医生吗?如何确保我的服务已重新启动?谢谢。
标签: java android-studio service firebase-cloud-messaging