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