当应用处于非活动状态时,不会调用Firebase onMessageReceived

Wou*_*ter 2 android firebase firebase-cloud-messaging

我在Android上使用Firebase云消息传递.

  • 当应用程序位于前台时,我可以成功接收通知和数据消息.
  • 该文档指出,如果在应用程序处于后台时收到通知消息,则Firebase将代表该应用系统托盘发送通知.这适合我.
  • 如果发送了数据消息且应用程序在后台,则会成功调用onMessageReceived方法.
  • 令人不安的情况是当我强制停止应用程序然后尝试发送通知或数据消息时.该onMessageReceived方法不会被调用在这种情况下.
  • 我已经看过很多关于SO讨论背景用例的文章,但我还没有看到为什么在完全停止应用程序时没有收到任何消息的任何解释.

我的清单中有以下内容:

<service android:name=".MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
<service android:name=".MyInstanceIdService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)

这是文档有关扩展FirebaseMessagingService的内容:

如果您想要在后台接收应用程序通知之外的任何消息处理,则需要这样做.

除了在后台接收应用程序通知之外的消息处理,它们的含义还不完全清楚.我只能假设他们正在谈论在关闭应用程序时处理消息.

任何帮助将不胜感激.

Rag*_*dra 6

如果您强制停止某个应用,则在重新启动应用之前,您不会收到任何通知.在重新启动应用程序之前,您的所有代码都无效.

应用程序的所有服务也将停止,直到用户再次手动启动应用程序