我用以下this之后的代码测试了吐司通知:
x
清单显示如下:
public static void ShowToastNotification(string message)
{
ToastContent content = new ToastContent()
{
Visual = new ToastVisual()
{
BindingGeneric = new ToastBindingGeneric()
{
Children =
{
new AdaptiveText()
{
Text = message
}
}
}
}
};
ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(content.GetXml()));
}
但是当屏幕锁定时它永远不会弹出。
几秒钟内解锁,我就能看到它。
如果我像15秒后那样解锁,我看不到通知,因为我将持续时间设置为短。
我检查了以下设置:
当我在软件包清单中声明后台任务时,我启用了推送通知,
我在Windows设置中打开了“在锁定屏幕上显示通知” ,
,并且我启用了应用,使其可以在Windows设置中在后台运行。
我可以看到它命中了后台任务(在后台工作中包含其他功能)。
我想念什么?
如果有一种方法可以更改“欢迎消息”,那对我也同样适用。
我正在寻找一种在登录期间发生错误时通知用户的方法。
我们将不胜感激:)
答案 0 :(得分:0)
我在UWP Windows应用程序中尝试了此代码,它可以完美地工作,您只需要创建一个通用函数
using Windows.UI.Notifications;
public static void ShowToastNotification(string title, string stringContent)
{
ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();
Windows.Data.Xml.Dom.XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
Windows.Data.Xml.Dom.XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(title));
toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(stringContent));
Windows.Data.Xml.Dom.IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
Windows.Data.Xml.Dom.XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.SMS");
ToastNotification toast = new ToastNotification(toastXml);
toast.ExpirationTime = DateTime.Now.AddSeconds(4);
ToastNotifier.Show(toast);
}