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 检测频道更新
Pushwoosh 为 windows Phone 8.1 推送 Toast 通知
通过asp.net windows phone 8发送推送通知