我正试图像http://dotnettrain.blogspot.co.uk/2011/07/push-notifications-in-windows-phone-75.html
那样实施我在同一页面发送和接收。 A.xaml
我要发送的有效负载:在GetToastPayLoad
中string message = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"WPNotification\">" +
"<wp:Toast>" +
"<wp:Text1>New Link Request</wp:Text1>" +
"<wp:Text2>"+data.Title+"</wp:Text2>" +
"</wp:Toast>" +
"</wp:Notification>";
httpRequest的标题是: -
.........................................
var request = (HttpWebRequest)WebRequest.Create(new Uri(channelUri));
request.Method = "POST";
request.ContentType = "text/xml";
payload = GetToastPayload(data);
request.Headers.Add("X-WindowsPhone-Target", "toast");
request.Headers.Add("X-NotificationClass", "2");
}
我能够将A.xaml中的响应捕获为OnToastNotificationReceived,并在消息框中打印详细信息。
但是当我删除事件处理程序时,我没有在正在运行的应用程序中收到任何通知。
如何以正常方式接收和显示正常的祝酒通知?
* 我应该怎么做才能实现这种通用性,比如说我想让它显示在用户所在的任何地方:A.xaml,B.xaml,C.xaml 等。?*
答案 0 :(得分:1)
要在任何地方接收通知,请尝试将您的代码放入App()
App.xaml.cs
中的{{1}}构造函数中,如Sending toast notifications on Windows Phone 7
当您的应用运行时,不会显示Toast通知,因此您无法以这种方式显示它们(即使您尝试手动执行ToastPrompt)所以您应该使用ShellToastNotificationReceived来处理在这种情况下的通知。
当您的应用未运行时,您应该看到显示的吐司通知。