Windows Phone 8 上的推送通知处理程序

Posted

技术标签:

【中文标题】Windows Phone 8 上的推送通知处理程序【英文标题】:Push notification handler on Windows Phone 8 【发布时间】:2013-09-05 11:34:26 【问题描述】:

按照这个示例 (http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202967(v=vs.105).aspx),我启用了我的 Windows Phone 8 应用程序以进行推送通知。我可以接收通知并调用回调方法PushChannel_ShellToastNotificationReceived。在示例中,此方法会打开一个包含通知内容的消息框。

因此,我可以假设从执行回调的线程执行 UI 相关操作是安全的吗?我看到消息框包含在Dispatcher.BeginInvoke(() => 中,但是我不知道这将在哪个线程中执行,以及我应该从该线程中使用哪些对象。

【问题讨论】:

【参考方案1】:

PushChannel_ShellToastNotificationReceived 在您的应用程序运行时收到推送通知时始终由操作系统调用,因此它将在非 UI 线程上执行。

任何需要执行的 UI 相关代码都必须包含在 Dispatcher.BeginInvoke(Action a) 中,否则你会得到一个 UnauthorizedAccessException 异常。

【讨论】:

好的,谢谢您的信息。所以Dispatcher.BeginInvoke(Action a) 神奇地执行了 UI 线程中的代码,就这样,问题解决了吗? :)

以上是关于Windows Phone 8 上的推送通知处理程序的主要内容,如果未能解决你的问题,请参考以下文章

Windows phone 8 推送通知如何使用 ChannelUpdatedUri 检测频道更新

windows phone 上的推送通知可以免费实现吗?

Pushwoosh 为 windows Phone 8.1 推送 Toast 通知

通过asp.net windows phone 8发送推送通知

Windows Phone 8 推送通知 (MPNS) 服务器代码

如何发送推送通知 windows phone 8 应用程序?