Создание канала уведомлений всегда приводит к отключению звука и света - PullRequest
0 голосов
/ 06 марта 2020

Это довольно глупо из 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.

Итак, я предполагаю, что в создании что-то не так и неполно канала уведомлений, который не упоминается в официальной документации и не обсуждается где-либо еще, насколько я мог видеть.

А также, когда я проверял другие приложения, установленные на устройстве, у них всех была та же проблема. Только вибрация была включена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...