UWP后台任务订阅事件

时间:2017-10-22 13:26:57

标签: c# notifications uwp toast background-task

我有一个由服务器调用的事件FriendsOnlineEvent。 当应用程序处于活动状态时,此事件有效并且我会收到Toast通知 如何将此事件添加到BackgroundTask并在我的应用关闭时接收通知?

   var longPollParams = await cache.vk.Messages.GetLongPollServer();
        var longPollClient = await cache.vk.StartLongPollClient(
             longPollParams.Server,
             longPollParams.Key,
             longPollParams.Ts
             );
        longPollClient.FriendOnlineEvent += LongPollClient_FriendOnlineEvent;

1 个答案:

答案 0 :(得分:2)

您需要使用推送通知,请在此处了解详情:https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-windows-push-notification-services--wns--overview

基本上

  1. 您的应用获取推送频道并将推送频道发送到您的服务器
  2. 您的服务器存储所有推送渠道(映射到用户或其他)
  3. 当您要为其发送Toast的服务器上发生事件时,您的服务器会向给定用户的推送通道发送推送通知
  4. 您的推送通知可以简单地是在没有任何代码执行的情况下自动显示的吐司,或者您可以发送"原始通知"它会唤醒您的后台任务,以便您可以执行代码,然后通过应用程序代码显示祝酒词。