Как обрабатывать уведомления из панели задач

Я знаю, что обрабатывать сообщения в фоновом приложении

Когда ваше приложение работает в фоновом режиме, Android направляет уведомления на панель задач. Пользователь, нажав на уведомление, по умолчанию открывает панель запуска приложений.

Сюда входят сообщения, которые содержат как уведомления, так и полезные данные. В этих случаях уведомление доставляется в системный трей устройства, а полезная нагрузка данных доставляется в дополнительных целях вашего действия запуска.

но мое приложение должно обнаруживать, когда приходит уведомление, чтобы выполнить операцию (получать данные с сервера), потому что, когда приходит уведомление, оно должно загружать данные, но, когда приложение в фоновом режиме, я не могу знать, что уведомление приходит, пока пользователь не нажмет уведомление, приложение откроется, и я загружу данные, но в в некоторых случаях пользователь не нажимает уведомление, поэтому данные не загружаются

поэтому мой вопрос, как узнать, когда приложение получает уведомление, если приложение работает в фоновом режиме?


person user3623824    schedule 01.10.2016    source источник
comment
Отправьте только полезные данные.   -  person AL.    schedule 02.10.2016
comment
да, я знаю эту опцию, но нет возможности отправить ее обычным способом и узнать, когда уведомление обрабатывается в системном трее?   -  person user3623824    schedule 02.10.2016
comment
Я понимаю. Вы должны отредактировать свой вопрос на Как обрабатывать уведомления из панели задач? или что-то в этом роде.   -  person AL.    schedule 02.10.2016


Ответы (1)


Вы получите вызов метода обратного вызова onMessageReceived в FirebaseMessagingService в любом случае, если приложение находится в фоновом или на переднем плане, если и только если вы отправляете данные по ключу «данные». Например -

{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
  "Nick" : "Mario",
  "body" : "great match!",
  "Room" : "PortugalVSDenmark"
      }
   }
}

Вы можете показать пользовательское уведомление, создав его в методе обратного вызова onMessageReceived

person Akash Bisariya    schedule 14.09.2017