Windows Phone 8通知和后台任务

Kum*_*bek 5 c# push-notification windows-phone-8 mpns

我搜索了官方论坛和文档以及所有其他地方,但未能找到具体的答案.

问:在Windows Phone 8中,应用程序是否可以响应推送通知,并在后台执行任务?

据我所知,对于Toast和Tile Notifications,当app不在前台时,根本没有钩子,因为它能够响应传入的消息.

我认为"原始通知"是正确的选择,因为我不需要更新应用程序磁贴,甚至不需要显示Toast通知.但是,如果我能做到这一点,我无法找到一个例子,或者在文件中.

我找到了几个链接,讨论为Windows商店应用程序执行此操作,但我想知道是否可以为Windows Phone 8完成此操作.

我检查了这个其他帖子,

带有通知的Windows Phone 8后台任务

其中一个答案表明Whatsapp实际上有一个黑客,在收到推送通知后下载消息.那么,是不是回答我的问题,一个NO

Dav*_*yes 2

这在 Windows Phone 8.1 中发生了变化。来自原始通知概述(Windows 运行时应用程序)

收到原始通知

您的应用程序可以通过两种途径接收原始通知:

  • 在应用程序运行时通过通知传递事件。
  • 如果您的应用程序启用了运行后台任务,则通过原始通知触发的后台任务。

应用程序可以使用这两种机制来接收原始通知。如果应用程序同时实现了通知传递事件处理程序和由原始通知触发的后台任务,则当应用程序运行时,通知传递事件将优先。

  • 如果应用程序正在运行,则通知传递事件将优先于后台任务,并且应用程序将有第一个机会处理通知。
  • 通知传递事件处理程序可以通过将事件的 PushNotificationReceivedEventArgs.Cancel 属性设置为 true 来指定,一旦处理程序退出,原始通知不应传递到其后台任务。如果 Cancel 属性设置为 false 或未设置(默认值为 false),则原始通知将在通知传递事件处理程序完成其工作后触发后台任务。