Ответ 1
Я также столкнулся с той же проблемой.
Два способа решения этой проблемы
1- Использование полезной нагрузки уведомления
полезная нагрузка уведомления может быть отправлена с использованием тега data
или тега notification
.
с помощью тега data
"data" {
"title": "welcome",
"description" :"to your app" ,
"image" :"image_url",
"deeplink" :"deeplink",
- -
}
он вызовет метод FirebaseMessagingService onMessageReceived
.
он не будет работать на некоторых устройствах, когда приложение находится в фоновом режиме.
с помощью notification
"notification" {
"title":"title",
"description" : "description",
"click_action" :"activity to be open"
..
}
это обрабатывается системой android, попробуйте и покажите уведомление, в этом случае метод onMessageReceived
вашего FirebaseMessagingService не будет вызывать. Неизвестно, будет показано, что даже приложение находится в фоновом режиме.
один из недостатков этого - вы не можете настроить уведомление, потому что оно обрабатывается системой Android.
подробнее
2- Включить автозапуск в настройках устройства
когда вы отправляете уведомление с помощью data
и приложение убито, уведомление не будет отображаться.
если вы увидите лог-кошку, вы увидите
W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.cabipool (has extras) }
можно решить в настройке oneplus 3 → Приложения → нажмите на шестерню → последняя опция App select app auto launch → find your app enable the switch
это проблема в большинстве устройств, таких как Vivo, Oppo, xiaomi, Asus, один плюс 3.
чтобы включить автоматический запуск приложения на основе производителя устройства.