0

我遵循了Jeff 的教程并在我的应用程序中实现了推送。

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 中实现与上面完全相同的功能。

4

2 回答 2

0

您可以参考示例http://code.msdn.microsoft.com/wpapps/Toast-Notification-Sample-fb20ae13。当应用程序关闭并从服务器端发送通知时,它将在设备上接收,不需要任何 ScheduledTaskAgent 或后台进程。WP pushnotification 的有效负载如下所示:

<?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 通知时将用户导航到特定页面。此外,如果您想在应用程序关闭且 toast 到达时显示任何自定义消息,请将其导航到特定页面并显示带有自定义消息的消息框。

这就是我以为你想知道的,如果不告诉我。谢谢

于 2013-04-22T10:52:38.350 回答
0

添加

pushChannel.BindToShellToast();
于 2013-04-22T20:47:53.873 回答