我对 toast 通知有这个问题,我的应用程序仅在激活时才显示 toast 通知(即:当我使用它时)。
这是我的 toast 通知代码:
private void ShowToastNotification(string text)
{
var xml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);
xml.GetElementsByTagName("text")[0].AppendChild(xml.CreateTextNode(text));
ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(xml));
}
我的应用程序只是一个提醒应用程序,用户设置时间和文本,当该应用程序将显示该文本的 toast 通知时。我只是使用一个循环计时器,每 5 秒检查一次提醒。
public MainPage()
{
this.InitializeComponent();
DispatcherTimer d = new DispatcherTimer();
d.Interval = new TimeSpan(0,0,5);
d.Start();
d.Tick += delegate
{
CHECK();
};
}
private void CHECK()
{
foreach (REMINDER_CLASS er in REMINDERS)
{
if (DateTime.Now.ToString("MM/dd/yyyy hh:mm:tt") == er.DateTime)
{
ShowToastNotification(er.Reminder);
break;
}
}
}
因此,当时间到来时,它不会显示 toast 通知,当我单击应用程序时它会显示通知,就好像它被暂停了,当我打开它时它又恢复了。
顺便说一句,我在我的 appxmanifest 中将 Toast 功能设置为 yes,并且还在我的声明中添加了以下类型的后台任务:计时器和系统事件。
解决方案可能是不允许应用程序休眠或挂起,但我不知道如何阻止应用程序挂起。另一个解决方案可能是后台任务,如果你给我一个很好的简单的后台任务资源,我将不胜感激。