从背景任务的吐司通知

时间:2014-11-25 00:31:59

标签: windows windows-phone universal

我在通用应用程序上工作,其中一个功能是在用户需要的特定时间后向用户发送通知。设置系统事件(即禁用和启用wifi)时会显示通知,如下面的

builder.SetTrigger(new SystemTrigger(SystemTriggerType.NetworkStateChange, false));

但是使用TimeTrigger时没有出现通知! 这是我的代码:

 var builder = new BackgroundTaskBuilder();
        builder.Name = "MyBackgroundTask";
        builder.TaskEntryPoint = "SampleWindowsStoreApp.BackgroundTask.MyBackgroundTask";

        var _taskbuilder = new TimeTrigger(20, false);
        builder.SetTrigger(_taskbuilder);
        builder.Register();

知道我从Package.appxmanifest启用Toast并声明Timer和backgroundTask

这是我的BackgroundTask代码

 public sealed class MyBackgroundTask : IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {
        var deferral = taskInstance.GetDeferral();
        ToastNotificationUtilities.ShowMessage("Hello from the background task. ");
        deferral.Complete();
    }
}

我想知道为什么20分钟后应该出现的通知没有出现。!

1 个答案:

答案 0 :(得分:0)

也许你必须使用类似的东西

ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;

XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
toastTextElements[0].AppendChild(toastXml.CreateTextNode("Hello from the background task. ")); ToastNotification toast = new ToastNotification(toastXml); ToastNotificationManager.CreateToastNotifier().Show(toast);

instand of:ToastNotificationUtilities.ShowMessage("Hello from the background task. ")