我有一个包含 2 项服务的应用:
MessagingService extends FirebaseMessagingService
和
InstanceIDService extends FirebaseInstanceIdService
AndroidManifest.xml
文件中有声明。
问题是当我的应用进程被强制关闭时,服务也会被终止。
我希望他们不要被杀。我听说过 Service
类的 START_STICKY
标志,但我无法覆盖这些服务中的 onStartCommand()
方法,因此返回这个标志...
最佳答案
为了回答评论,我没有找到任何“解决方案”来解决我的问题,因为这不是一个问题。如果用户想要关闭我的应用程序,他有权这样做。
由于我的 onMessageReceived()
方法属于我的应用程序中的 MessagingService
,如果应用程序被用户强行关闭,应用程序和服务将重新启动。
正如 Weishi Zeng 在评论中所说,“设置强制关闭”会停止所有关于我的应用程序(包括服务)的操作,因此 Google Play 服务会收到通知,但我的应用程序不会在此处看到它。然后onMessageReceived()
方法没有被执行。
但是,该服务不会通过“滑动关闭”关闭。
最终,我不想找到任何解决方法,因为这会与用户的选择相矛盾。
参见 here .
关于java - 即使应用程序未运行,也处理 onMessageReceived() 和 onTokenRefresh(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38079245/