Почему это произошло?
Я понял, когда вводил номера версий в вопрос, что это будет иметь отношение к Android Oreo.Я искал проблемы с FCM, а не последние изменения, как работают уведомления.В Android 26+ были введены каналы уведомлений , которые необходимы, если ваше приложение ориентировано на 26 и выше (как я).Поскольку я обновил целевой SDK, не задумываясь, я, конечно, получил уведомление без уведомлений.
Как это исправить
Самый простой способ - просто настроить API 25, ноэто не идеально.
Что вы можете сделать, это зарегистрировать каналы уведомлений.Я сделал это, когда обрабатывал свои уведомления (поэтому onMessageReceived
), поскольку он не регистрирует один и тот же канал более одного раза.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Set the default notification channel settings to be that of alert
int importance = NotificationManager.IMPORTANCE_HIGH;
String channel_id = ALERT_CHANNEL_ID;
CharSequence channel_name = ALERT_CHANNEL_NAME;
String channel_desc = ALERT_CHANNEL_DESC;
// Logic to change the channel id, name and desc if required
// Build and modify channel settings
NotificationChannel channel = new NotificationChannel(channel_id, channel_name, importance);
channel.setDescription(channel_desc);
channel.enableLights(true);
channel.enableVibration(true);
// Create the notification channel
notificationManager.createNotificationChannel(channel);
}
Затем вы хотите изменить построитель уведомлений:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, channel_id)