我的应用程序有通知,当用户单击通知或活动磁贴(当前显示的项目)时,我希望能够将用户带到我的应用程序中的该页面。
当您的应用程序从动态磁贴或 Toast 通知启动时,有没有办法确定磁贴数据是什么?
此外,用户可以右键单击动态磁贴并将其关闭。有没有办法检测到,所以我可以关闭向它们发送动态图块或 WNS 处理?
谢谢!
我的应用程序有通知,当用户单击通知或活动磁贴(当前显示的项目)时,我希望能够将用户带到我的应用程序中的该页面。
当您的应用程序从动态磁贴或 Toast 通知启动时,有没有办法确定磁贴数据是什么?
此外,用户可以右键单击动态磁贴并将其关闭。有没有办法检测到,所以我可以关闭向它们发送动态图块或 WNS 处理?
谢谢!
当用户通过磁贴启动应用程序时,Windows 不提供确定磁贴内容的方法。根据从以下各项启动的 UX 指南,应具有相应的行为:
所有三种类型的激活都将导致OnActivated
事件被触发,IActivatedEventArgs.Kind
参数设置为ActivationKind.Launch
。
对于辅助磁贴和 toast 激活,应用程序可以在LaunchActivatedEventArgs.Argument参数中提供额外的上下文。
对于辅助磁贴,可以在创建磁贴时通过SecondaryTile.Arguments
属性设置启动参数参数。
对于 toast 通知,启动参数参数设置为 toast 通知 XML 中的属性:
<toast launch="myLaunchContext">
...
</toast>
最后,应用程序不需要检查磁贴是否已被用户打开或关闭。Windows 和 WNS 将确定是否需要交付。用户可以在应用未运行时打开/关闭磁贴,因此应用保存的状态可能与设置不同步。
你可以检测到应用程序午餐App.xaml.cs
protected override void OnActivated(IActivatedEventArgs args)
{
base.OnActivated(args);
if(args.Kind == ActivationKind.Launch)
{
}
}
这是有关如何处理ToastNotification
单击事件的信息。