В моем приложении я хочу получать сообщения FCM, даже когда приложение находится на переднем плане. Итак, я настроил все в соответствии с https://firebase.google.com/docs/cloud-messaging/android/receive#sample -receive
Но пока мое приложение находится на переднем плане, метод onMessageReceived
не вызывается. Обратите внимание: когда мое приложение находится в фоновом режиме, оно получает уведомления, поэтому соединение с FCM работает нормально.
application
часть моего AndroidManifest. xml
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_ic_notification" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
MyFirebaseMessagingService.kt
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
Timber.i("onMessageReceived") // never called
}
}
Я отправляю свои уведомления с помощью консоли FCM. Есть идеи, что я делаю неправильно? Почему onMessageReceived
не вызывается, когда мое приложение находится на переднем плане?