1- На самом деле onMessageReceived запускается только тогда, когда ваше приложение находится на переднем плане, как описано введите описание ссылки здесь . Поэтому, если вы не переопределите onMessageReceived, вы не получите push, когда ваше приложение находится на переднем плане
2 - Согласно документации fcm, когда ваше приложение находится в фоновом режиме, onMessageReceived не запускается, а
полезная нагрузка данных доставляется в дополнениях намерения вашего средства запуска.
Это объясняет, почему ваш пуш перенаправляет на ваш основной вид деятельности (ваш лаунчер).
Пока что вы можете справиться с перенаправлением из намерения.
Вы также можете указать действие, куда оно должно быть перенаправлено, например введите описание ссылки здесь :
{
"to":"some_device_token",
"content_available": true,
"notification": {
"title": "hello",
"body": "test message",
"click_action": "OPEN_ACTIVITY_1"
},
"data": {
"extra":"juice"
}
}
не забудьте фильтр намерений для желаемого действия:
<intent-filter>
<action android:name="OPEN_ACTIVITY_1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>