Вам необходимо создать NotificationChannel
перед тем, как разместить в нем новый Notification
. Что-то вроде этого:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
channel.setDescription(description);
// Don't see these lines in your code...
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
вы только создаете новый канал (как объект), но никогда не вызываете createNotificationChannel
, вы, вероятно, создали канал уведомлений на эмуляторе, но не на устройстве. также существует вероятность того, что некоторые устройства с более ранними версиями ОС могут автоматически создавать канал уведомлений «по умолчанию» в целях совместимости, но для более новых версий ОС может потребоваться создание канала перед отображением уведомления
в некоторых руководствах по ЗДЕСЬ