Обновление 03/2017 - включая часть моего ответа здесь.
Что касается темы, касающейся смахивание закрыто / убито / принудительно остановлено, эта тема обсуждалась довольно давно, и, похоже, нет однозначного ответа. Во время одного из моих тестов я могу по-прежнему получать сообщение (проверено с полезными данными сообщения data
- only), если я проведу пальцем по закрытию своего приложение. Но когда я принудительно закрыл его из меню настроек, я не смог получить никаких сообщений. Обратите внимание, что это не всегда поведение.
Некоторые устройства были спроектированы так, что, когда вы закрываете приложение, оно будет таким же, как их принудительная остановка (см. Мой ответ здесь).
Существуют также устройства, на которых, даже если приложение все еще просто удаляется, даже если оно не принудительно закрыто, само устройство не позволяет ему получать сообщения. Другие говорят, что этого не может быть, потому что такие приложения, как WhatsApp, смогли это сделать. Причина, по которой я до сих пор это понял, заключается в том, что производители устройств занесли в белый список большинство известных приложений, чтобы это стало возможным.
Это нигде не задокументировано, потому что (IMO) это тема, которая также зависит от устройства, и FCM не имеет полного контроля.
Оригинальный ответ:
Поскольку это зависит от устройства (как вы упомянули в своем сообщении: телефоны серии OPPO F1), вполне возможно, что когда приложение остановлено из области многозадачности в Это устройство фактически убивает приложение, в результате чего службы и другие связанные с ним фоновые процессы также уничтожаются. См. Этот ответ, чтобы получить более подробное представление о том, что я пытаюсь сказать.
Если вы ищете в сообществе, здесь обычно предлагается использовать Флаг START_STICKY. Однако я видел, что это уже упоминалось ранее для FirebaseMessagingService
(см. Этот пост, комментарий @ArthurThompson):
Эти службы будут запускаться службами Google Play, которые всегда работают на устройстве. Вам не нужно и не следует запускать / останавливать эти службы самостоятельно.
С учетом сказанного, есть также возможность (опять же из комментариев):
На устройстве может быть настройка, разрешающая / запрещающая это.
Я предлагаю провести дальнейшее тестирование, если службы убиваются самим устройством, или посмотреть, есть ли настройки, которые блокируют уведомления.
15.09.2016
notification
, , но только если уведомление * не заблокировано устройством b >. В вашем случае весьма вероятно, что само устройство блокирует уведомления. 18.08.2017