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

Dav*_*ave 5 c# microsoft-metro windows-8

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

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

此外,用户还可以右键单击实时磁贴并将其关闭.有没有办法检测到这一点,所以我可以关闭发送他们的实时瓷砖或WNS处理它?

谢谢!

Nat*_*hta 6

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

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

所有三种类型的激活都将导致OnActivated事件在IActivatedEventArgs.Kind参数设置为的情况下触发ActivationKind.Launch.

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

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

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

<toast launch="myLaunchContext">
    ...
</toast>
Run Code Online (Sandbox Code Playgroud)

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