【问题标题】:Push notification handler on Windows Phone 8Windows 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(() => 中,但是我不知道这将在哪个线程中执行,以及我应该从该线程中使用哪些对象。

【问题讨论】:

    标签: windows-phone-8 push-notification windows-phone mpns


    【解决方案1】:

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

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

    【讨论】:

    • 好的,谢谢您的信息。所以Dispatcher.BeginInvoke(Action a) 神奇地执行了 UI 线程中的代码,就这样,问题解决了吗? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多