我从Windows8.1开始使用桌面应用程序的toast通知,但随着Windows10的新操作中心,我遇到了一些意想不到的行为。
当用户不对toast执行任何操作时,它就会消失,而不会转到操作中心(ToastNotification.Disseding
是ToastDissalReason.TimedOut
)。我不知道这是否与我在win32应用程序中使用它有关,但在Windows Universal应用程序中,当它超时时,同样的祝酒词会转到操作中心。
需要注意的一点是,我没有为我的win32应用程序注册AppUserModelID,就像W8.1中需要的那样,它似乎不再是强制性的。我还是用一个注册的身份证做了测试,我也有同样的Popblem。
那么,我该如何防止烤面包机超时时不能在操作中心中运行呢?
下面是一个简单的代码(控制台应用程序),它再现了这个问题:
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
namespace ToastDesktop
{
internal class Program
{
/// Add in the .csproj in the <PropertyGroup/> where <TargetFrameworkVersion/> is:
/// <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion>
///
/// Reference to add :
/// - Windows.UI
/// - Windows.Data
private static void Main(string[] args)
{
string xml = $@"
<toast>
<visual>
<binding template='ToastGeneric'>
<text>Some title</text>
<text>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</text>
</binding>
</visual>
</toast>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
ToastNotification toast = new ToastNotification(doc);
toast.Tag = "tag";
toast.Group = "group";
ToastNotificationManager.CreateToastNotifier("ToastDesktop").Show(toast);
}
}
}
谢谢你的帮助。
编辑:我在msdn博客文章上发布了这个bug,它覆盖了这个主题,我得到了确认,当超时时,它应该保留在操作中心,并且它可能是一个bug。
Win32应用程序需要设置COM服务器才能在操作中心中持久保存Toast:http://blogs.msdn.COM/b/tiles_and_toasts/archive/2015/10/15/quickstart-handling-toast-activations-from-win32-apps-in-windows-10.aspx
我正在向我的桌面应用程序添加Toast通知,并在Windows 10中体验Action Center的奇怪行为 null 超时后应在操作中心中显示Toast通知 关闭和打开操作中心后,烤面包通知仍应存在 请告诉我,这是否是windows 10中的吐司通知的定义行为,因为Microsoft Outlook吐司通知的行为也是一样的。
谢谢你的帮助, 卢卡斯
因此,我使用Microsoft示例进行了培训,这些示例可在以下站点获得:http://code.msdn.Microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2/ 它工作良好,但我必须创建一个快捷方式,我的应用程序使用烤面包通知。 我试图删除快捷方式创建,但它不起作用。我理解,因为对于桌面应用程序,快捷方式是烤面包通知的先
我正在开发一个应用程序,它使用toast通知来通知用户。这些通知是在app后台运行时引发的,并转到通知中心。 一切都很好,但在桌面上,通知组的应用图标不见了。在Windows10Mobile上测试应用程序时,图标就在那里。 (注意:上面显示的是一个名为“日历活动”的应用程序的通知组,而不是实际的通知。)
在Android上,toast通知的工作方式与UWP不同。它只是在应用程序的顶部显示一个黑色的弹出消息。在UWP中,从用户角度来看,toast通知与push通知是无法区分的。在UWP中有没有一种标准化的方式,简单地在app内部显示一个几秒后就会消失的快速通知,并且不干扰用户的体验?我的意思是,如果用户没有收到推送通知?
在windows通用应用程序中,使用WNS(windows通知服务)有没有办法将从一个应用程序发送的所有toast通知在操作中心内分组,就像在Android中所有未读whatsapp对话显示为一个通知一样。 我看到有一个名为WNS-Group和WNS-Tag的WNS头,但无论如何在其中设置/使用这些头并不能对toast进行分组 有人能建议一下这在Windows中是否可行,如果是如何可行的吗? 谢谢