Предупреждение о проверке или перехвате не удалось опубликовать уведомление на канале

#c# #android #xamarin #xamarin.forms #android-notifications

#c# #Android #xamarin #xamarin.forms #android-уведомления

Вопрос:

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

«Предупреждение разработчика для пакета «com.app» не удалось опубликовать уведомление на канале «channel1″ подробнее см. журнал» спасибо.

Ответ №1:

Вы можете использовать NotificationManager.GetNotificationChannel , и он вернет экземпляр NotificationChannel , если он существует, или a null , если он не существует.

Краткий пример:

 using (var notificationManager = NotificationManager.FromContext(ApplicationContext))
{
    var channelName = "SomeChannelName";
    if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
    {
        NotificationChannel channel = notificationManager.GetNotificationChannel(channelName);
        if (channel == null)
        {
            channel = new NotificationChannel(channelName, channelName, NotificationImportance.Low)
            {
                LockscreenVisibility = NotificationVisibility.Public
            };
            channel.SetShowBadge(true);
            notificationManager.CreateNotificationChannel(channel);
        }
    }
    // build your notification
}