Я знаю, что есть несколько вопросов по этой теме, но моя проблема немного другая.
Я использую облачный обмен сообщениями Firebase , чтобы уведомить клиентов об определенном действии. Когда приложение убито или находится в фоновом режиме и, насколько я нахожусь на отладке, я вижу, что, когда устройство получает уведомление, метод onMessageReceived не запускается, у меня есть класс
FCMNotificationIntentService extends FirebaseMessagingService {...}
, на котором расположен метод onMessageReceived и просто конструктор по умолчанию, например:
public class FCMNotificationIntentService extends FirebaseMessagingService {
public FCMNotificationIntentService() {
super();
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
sendNotification(remoteMessage);
}
//other methods and stuff...
}
поэтому, когда устройство получает уведомление, оно не вызывает onMessageReceived , а только конструктор, то есть уведомление приходит на устройство без данных. Почему это происходит, когда приложение находится на переднем плане, onMessageReceived всегда запускается, и с сервера поступают данные.
Любое предложение или идея высоко ценится.