Тост-уведомление не работает

Метод ниже выполняется при вызове набора Toast, но не отображает Toast по истечении времени. Требуются ли какие-либо дополнительные настройки для всплывающего уведомления приложения Windows 8 Metro?

 int scheduledToastCounter = 1;

    public void Set_Future_Toast()
    {

            XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);

            XmlNodeList stringElements = toastXml.GetElementsByTagName("text");
            stringElements.Item(0).AppendChild(toastXml.CreateTextNode("Scheduled Toast"));

            DateTimeOffset displayTime = DateTimeOffset.UtcNow.AddSeconds(3);

            ScheduledToastNotification scheduledToast = new ScheduledToastNotification(toastXml, displayTime);
            scheduledToast.Id = "Future_" + this.scheduledToastCounter++;

            ToastNotifier notifier = ToastNotificationManager.CreateToastNotifier();
            notifier.AddToSchedule(scheduledToast);

            int scheduledToastCount = notifier.GetScheduledToastNotifications().Count;
        }

     }

person Sap    schedule 02.02.2012    source источник
comment
Что там делает пустой блок catch? Кроме сокрытия ошибок.   -  person Cody Gray    schedule 02.02.2012
comment
@CodyGray Я только что отключил здесь обработку исключений. Но метод выполняется без каких-либо исключений.   -  person Sap    schedule 02.02.2012


Ответы (7)


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

person user571488    schedule 10.10.2012

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

person Carlos Cervantes    schedule 10.02.2012

Свойство settings вашего объекта notifier сообщило вам, почему всплывающее уведомление не может быть отображено:

0: включено, могут отображаться все уведомления, созданные этим приложением.

1: DisabledForApplication, пользователь отключил уведомления для этого приложения.

2: DisabledForUser, пользователь или администратор отключил все уведомления для этого пользователя на этом компьютере.

3: DisabledByGroupPolicy, администратор отключил все уведомления на этом компьютере с помощью групповой политики. Параметр групповой политики переопределяет параметр пользователя.

4: DisabledByManifest. Это приложение не объявило себя способным к всплывающим уведомлениям в файле package.appxmanifest. Этот параметр находится на странице пользовательского интерфейса приложения манифеста в разделе «Уведомление». Чтобы приложение могло отправлять всплывающие уведомления, для параметра Toast Capable должно быть установлено значение «Да».

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.notifications.notificationsetting.aspx

person Tuizi    schedule 15.01.2014

Вы можете изменить непосредственно свой Package.appxmanifest с кодовой страницы:

добавить ToastCapable в тег VisualElements

 <VisualElements  ToastCapable="true">

Иногда на экране Package.appxmanifest нет возможности его изменить:

мой Package.appxmanifest

person Beno    schedule 14.05.2013

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

person Yogan    schedule 05.11.2014

Вы пытались сделать приложение Toast Capable? проверьте эту тему: Всплывающие уведомления не работают?

person Community    schedule 29.05.2015

Интересная проблема, с которой я столкнулся, заключается в том, что я использовал тосты с изображениями. У меня были изображения в зависимой сборке с копией в выходной каталог. Запланировать тост просто не удалось. Сбой всплывающего уведомления по требованию с HRESULT E_FAIL (другой информации нет). Когда я, наконец, скопировал изображения в основной проект (с копированием в выходной каталог), они начали работать.

person Robin Sanner    schedule 10.02.2012