5

我的应用程序有通知,当用户单击通知或活动磁贴(当前显示的项目)时,我希望能够将用户带到我的应用程序中的该页面。

当您的应用程序从动态磁贴或 Toast 通知启动时,有没有办法确定磁贴数据是什么?

此外,用户可以右键单击动态磁贴并将其关闭。有没有办法检测到,所以我可以关闭向它们发送动态图块或 WNS 处理?

谢谢!

4

2 回答 2

6

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

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

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

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

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

对于 toast 通知,启动参数参数设置为 toast 通知 XML 中的属性:

<toast launch="myLaunchContext">
    ...
</toast>

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

于 2012-10-27T20:00:03.380 回答
2

你可以检测到应用程序午餐App.xaml.cs

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);

        if(args.Kind == ActivationKind.Launch)
        {

        }
    }

是有关如何处理ToastNotification单击事件的信息。

于 2012-10-27T19:03:09.153 回答