我在通用应用程序上工作,其中一个功能是在用户需要的特定时间后向用户发送通知。设置系统事件(即禁用和启用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分钟后应该出现的通知没有出现。!
答案 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. ")