Уведомление не отображается, когда приложение находится на переднем плане - PullRequest
0 голосов
/ 17 января 2020

Я добавил этот код в метод onMessageReceived класса FirebaseNotificationService, который расширяет FirebaseMessagingService

Notification notification = new NotificationCompat.Builder(this)
            .setContentTitle(remoteMessage.getNotification().getTitle())
            .setContentText(remoteMessage.getNotification().getBody())
            .setSmallIcon(R.mipmap.ic_launcher)
            .build();
    NotificationManagerCompat manager = NotificationManagerCompat.from(getApplicationContext());
    manager.notify(123, notification);

Но, тем не менее, уведомление не работает, когда приложение находится на переднем плане но работает только когда приложение находится в фоновом режиме.

С этим разрешением в AndroidManifest.xml:

<service android:name="com.codb.shoppingapp.utils.FirebaseNotificationService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSANGING_EVENT" />
        </intent-filter>
    </service>

Ответы [ 2 ]

0 голосов
/ 18 января 2020

FCM имеет два типа сообщений: когда ваше приложение находится в фоновом режиме.

  • Уведомление: enter image description here

  • Сообщение данных: enter image description here

    1. Уведомление: уведомление доставляется в системный трей устройства, а не onMessageReceived

    2. Сообщение данных: всегда, уведомление доставляется на onMessageReceived As image

, поэтому Вам необходимо отправить формат Сообщение данных для обработки уведомлений в onMessageReceived, когда приложение является фоновым или передним планом

0 голосов
/ 17 января 2020

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

https://developer.android.com/training/notify-user/channels

...