Включить каналы уведомлений программно - PullRequest
0 голосов
/ 07 июня 2018

Я могу проверить, включен ли канал / отключен с помощью

NotificationChannel channel = manager.getNotificationChannel(channelId);
boolean isEnabled = channel.getImportance() != IMPORTANCE_NONE;

Но если канал не включен, я бы хотел включить его, установив для него значение IMPORTANCE_HIGH

if (!isEnabled) {
channel.setImportance(NotificationManager.IMPORTANCE_HIGH);
manager.createNotificationChannel(channel);
}

Проблема в том, что канал не обновляется, он работает только в том случае, если я попытался отключить его с помощью IMPORTANCE_NONE, если он включен, но не наоборот.

Я попытался удалить канал исоздайте новый с другим идентификатором, который работает, но не создавайте новый с тем же идентификатором.

Как обойти это?

1 Ответ

0 голосов
/ 07 июня 2018

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

Поскольку пользователь мог изменить значение вручную.

Для этого программным путем можно получить канал и создать новый канал с новымЯ бы.удалить старый канал. Ваши изменения не будут отражены, если создать канал с предыдущим идентификатором

для проверки ссылок. Приложение WhatsApp попытается изменить мелодию звонка из приложения и увидеть в левом нижнем канале x сообщение об удалении канала.

...