Windows 8 Toast通知不起作用

Windows 8 Toast通知不起作用,windows-8,toast,microsoft-metro,Windows 8,Toast,Microsoft Metro,下面的方法在调用set Toast时执行,但在时间结束后不显示任何Toast。 Windows 8 Metro应用程序Toast通知是否还需要其他设置 int scheduledToastCounter = 1; public void Set_Future_Toast() { XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.To

下面的方法在调用set Toast时执行,但在时间结束后不显示任何Toast。 Windows 8 Metro应用程序Toast通知是否还需要其他设置

 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;
        }

     }

确保选中了应用程序配置文件中的复选框以启用通知。

我遇到的一个有趣的问题是,我正在使用带图像的toast。我在一个具有copy to output目录的依赖程序集中拥有这些映像。调度toast只是默默地失败了。Ondemand toast失败,HRESULT为E_FAIL(无其他信息)。当我最终将图像复制到主项目中(使用copy to output目录)时,它们开始工作。

您应该在应用程序包中将toast capable设置为yes。

您可以直接从代码页更改Package.appxmanifest:

将ToAsTable添加到VisualElements标记

 <VisualElements  ToastCapable="true">

有时Package.appxmanifest的屏幕没有更改它的选项:


对象的属性设置通知程序告诉您为什么不能显示土司:

0:启用后,可显示此应用程序引发的所有通知

1:禁用应用程序,用户已禁用此应用程序的通知

2:禁用对于用户,用户或管理员已禁用此计算机上此用户的所有通知

3:DisabledByGroupPolicy,管理员已通过组策略禁用此计算机上的所有通知。组策略设置覆盖用户的设置

4:DisabledByManifest,此应用程序尚未在其package.appxmanifest文件中声明自己可以toast。此设置位于清单的应用程序UI页面的通知部分下。对于要发送toast的应用程序,toast-Capable选项必须设置为“Yes”


需要为通知设置小图标!!!

您是否尝试使应用程序具有Toast功能?检查此线程:

空的
catch
块在那里做什么?“除了隐藏bug之外,”CodyGray我刚刚在这里屏蔽了异常处理。但该方法毫无例外地执行。