按照此示例(http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202967(v=vs.105).aspx),我已启用Windows Phone 8应用程序以进行推送通知。我可以收到通知,并调用回调方法PushChannel_ShellToastNotificationReceived
。在该示例中,此方法将打开一个包含通知内容的消息框。
因此,我可以假设从执行回调的线程执行UI相关操作是安全的吗?我看到消息框包含在Dispatcher.BeginInvoke(() =>
中,但是我不知道将执行哪个线程,以及我应该在这个线程中使用哪些对象。
答案 0 :(得分:1)
PushChannel_ShellToastNotificationReceived
,因此它将在非UI线程上执行。
任何需要执行的UI相关代码必须包含在Dispatcher.BeginInvoke(Action a)
内,否则您将获得UnauthorizedAccessException
例外。