Это довольно глупо из Android. Такая простая вещь, но это занимает у меня дни. Независимо от того, что я делаю, на канале, который я создаю, звуки и свет всегда отключены и только в режиме вибрации.
Сначала я скопировал вставленный фрагмент кода из документации и примера приложения. Но это не сработало. Затем я попробовал все изменения, найденные в SO, но безрезультатно.
AudioAttributes audioAttrb = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build();
Uri soundUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + getPackageName() + "/" + R.raw.audio_file);
NotificationChannel notificationChannelDefault = new NotificationChannel(channelDefaultId,
channelDefaultName, NotificationManager.IMPORTANCE_HIGH);
notificationChannelDefault.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
notificationChannelDefault.enableLights(true);
notificationChannelDefault.setLightColor(0xFFAEEA00);
notificationChannelDefault.setSound(soundUri, audioAttrb);
notificationChannelDefault.enableVibration(true);
notificationChannelDefault.setVibrationPattern(new long []{ 100 , 200 , 300 , 400 , 500 ,
400 , 300 , 200 , 400 });
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(notificationChannelDefault);
Этот код выполняется в классе Application. Я пытался отправить уведомление через Post API метод REST. Уведомление приходит, но нет звуков, свет. Я могу вручную изменить настройки уведомлений устройства, после чего оно работает. Но это не главное.
Я пробовал это на Redmi 5 Plus Android 8.1.0 и Redmi 8 Android 9.
Но если я сам не создаю канал и не использую консоль Firebase для отправки теста После этого система создает канал с именем «Разное», в котором звук, вибрация и освещение включены в Redmi 5 Plus, но не в Redmi 8.
Итак, я предполагаю, что в создании что-то не так и неполно канала уведомлений, который не упоминается в официальной документации и не обсуждается где-либо еще, насколько я мог видеть.
А также, когда я проверял другие приложения, установленные на устройстве, у них всех была та же проблема. Только вибрация была включена.