我的android应用程序在关闭时没有收到任何firebase通知,当我关闭应用程序时,FirebaseMessagingService
会被操作系统关闭。当应用程序处于前台或后台时,一切工作都很好。当应用程序在后台并且我发送了一个数据消息时,它由我的FirebaseMessagingService
中的OnMessageReceived()
接收(有趣的是,它为每个消息创建并随后销毁,即FirebaseMessagingService
)。当我终止应用程序(通过从打开的应用程序列表中滑动)时,OnMessageReceived()
中不再接收消息。所有的服务都被干掉了!!谁能帮帮我吗?提前道谢!
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- DefaultOrderedBroadcastReceiver will start this service to send notifications to system tray -->
<service
android:name=".fcm.SystemTrayNotificationsSenderIntentService"
android:enabled="true"
android:exported="false" />
<!-- the FCM receiver service -->
<service
android:name=".fcm.FCMNotificationReceiverService"
android:exported="true"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".fcm.chat.FCMChatOfflineMessagesNotificationJobSchedulerService"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE" />
根据Firebase文档,它声明如果从服务器端只发送notification
对象,当应用程序处于前台时,它将调用OnMessageReceived()
函数,如果应用程序处于后台,它将显示在系统/通知托盘中。
如果在同一通知中同时发送通知
和数据
对象,它将在前台调用OnMessageReceived()
函数,当应用程序处于后台时,它将在托盘中显示通知和数据
对象,只有当您点击通知并移动到您指定的意图时,您才会获得该对象。
现在,当您将只发送Data
对象时,app每次都会调用OnMessageReceived()
函数。
因此,如果您希望每次都得到执行的onMessageReceived()
,请仅从服务器端发送Data
对象。
我观察到,如果应用程序从多任务托盘停止,就会出现这种情况。我该如何解决这个问题? 更新:我观察到当我从任务托盘关闭应用程序时,我的应用程序在应用程序管理器中被强制停止。而当我从任务托盘关闭Whatsapp时,它仍然没有被强制停止。WhatsApp是如何处理的?
我正在开发一个电子邮件应用程序,我希望用户在收到新电子邮件后立即收到推送通知。为此,我使用FCM。我刚刚通过以下链接尝试使用FCM推送通知:https://www.youtube.com/watch?v=XijS62iP1Xo 感谢每一种帮助。提前感谢。
我当前正在使用此方法在收到来自发件人的消息时进行通知。 一切似乎都很好,但当我杀死应用程序,我没有收到通知。 我看到了一些关于它的答案,我应该使用数据消息和接收在但它不工作的kilded app。我该怎么办?
我使用Firebase控制台发送通知到我的Android设备,它的工作正常时,应用程序是在后台或前台状态。但它没有收到的通知在被杀死的状态,因为我没有附加任何数据,它不应该是一个数据通知。