我已关注Jeff's tutorial并在我的应用程序中实现了推送。
HttpNotificationChannel channel;
void GetPushChannel()
{
channel = new HttpNotificationChannel("BLANKENSOFT_" + DateTime.Now.Ticks.ToString());
channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(channel_ChannelUriUpdated);
channel.Open();
}
void channel_ChannelUriUpdated(object sender, NotificationChannelUriEventArgs e)
{
Dispatcher.BeginInvoke(delegate
{
URIBlock.Text = channel.ChannelUri.ToString();
});
}
所以我现在可以在我的应用程序中获取和处理推送通知。但是,当我的应用程序关闭并且我想表示事情发生了什么时,该怎么办?
我想到了一个ScheduledTaskAgent,但它们受到活动时间的限制......如果代理未运行时发送了通知?或者没关系?
我想在ScheduledTaskAgent中实现上面相同的功能。
答案 0 :(得分:0)
您可以参考示例http://code.msdn.microsoft.com/wpapps/Toast-Notification-Sample-fb20ae13。 当应用程序关闭并从服务器端发送通知时,它将在设备上接收,不需要任何ScheduledTaskAgent或后台进程。 WP推送的有效负载如下所示:
<?xml version=\1.0\ encoding=\utf-8\?>
<wp:Notification xmlns:wp=\WPNotification\>
<wp:Toast>
<wp:Text1>Title of application</wp:Text1>
<wp:Text2>Subtitle for application</wp:Text2>
<wp:Param>/Page2.xaml?NavigatedFrom=Toast Notification</wp:Param> //supported from WP7.1
</wp:Toast>
</wp:Notification>
在WP7.1中包含有效负载,当应用程序关闭时,它用于在收到Toast通知时将用户导航到特定页面。 此外,如果您想在应用程序关闭和烤面包到达时显示任何自定义消息,请将其导航到特定页面并显示包含您的自定义消息的消息框。
这是我想你想知道的,如果不让我知道。 感谢
答案 1 :(得分:0)
添加
pushChannel.BindToShellToast();