Я знаю, что есть куча вопросов по этой теме, но моя проблема немного отличается.
Я использую облачный обмен сообщениями 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 всегда запускается, и с сервера поступают данные.
Любое предложение или идея высоко ценится.