确定通知启动Windows 8应用程序的时间

我有通知进入我的应用程序,我希望能够在用户点击通知或实时图块(当前显示的项目)时将用户带到我的应用程序中的该页面。

有没有办法确定从Live Tile或Toast Notification启动应用程序时的图块数据是什么?

此外,用户还可以右键单击实时磁贴并将其关闭。 有没有办法检测到这样我可以关闭发送它们的实时图块或WNS处理它?

谢谢!

当用户通过磁贴启动应用时,Windows不提供确定磁贴内容的方法。 根据UX指南从以下各项启动应该具有相应的行为:

  • 主要图块 :应用应该启动到用户离开应用或应用主页的最后位置。
  • 辅助磁贴 :应用应启动应用中的特定内容。
  • Toast :与辅助磁贴一样,应用应该启动应用中的特定内容。

所有这三种类型的激活都会导致OnActivated事件在IActivatedEventArgs.Kind参数设置为ActivationKind.Launch

对于辅助磁贴和Toast激活,应用程序可以在LaunchActivatedEventArgs.Argument参数中提供其他上下文。

对于辅助切片,可以在通过SecondaryTile.Arguments属性创建切片时设置启动参数参数。

对于Toast通知,launch arguments参数设置为toast通知XML中的属性:

  ...  

最后,应用程序不需要检查用户是否已打开或关闭磁贴。 Windows和WNS将确定是否需要交付。 用户可以在应用程序未运行时打开/关闭磁贴,因此应用程序保存的状态可能与设置不同步。

您可以在App.xaml.cs检测应用程序午餐

  protected override void OnActivated(IActivatedEventArgs args) { base.OnActivated(args); if(args.Kind == ActivationKind.Launch) { } } 

以下是有关如何处理ToastNotification点击事件的信息。