1

我想在 Windows Phone 中将有效负载中的 Json 数据作为 Toast 或 Tile Notification 发送,如下所示:

string msg =
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    "<wp:Notification xmlns:wp=\"WPNotification\">" +
       "<wp:Toast>" +
       "<wp:Text1><string></ltwp:Text1>" +
       "<wp:Text2><string></wp:Text2>" +
       "<wp:Json><data></wp:Json>" +
       "</ltwp:Toast>" +
    "</wp:Notification>";

如果可能,我能否在 ShellToastNotificationReceived 事件处理程序中接收 Json?

4

2 回答 2

1

您可以发送具有如下值的参数:

string msg =
  "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
  "<wp:Notification xmlns:wp=\"WPNotification\">" +
  "<wp:Toast>" +
  "<wp:Text1><string></ltwp:Text1>" +
  "<wp:Text2><string></wp:Text2>" +
  "<wp:Param>/Home.xaml?NavigatedFrom=Toast Notification</wp:Param>" +
  "</ltwp:Toast>" +
  "</wp:Notification>";`
  • 如果您的应用程序在前台运行,则会PushChannel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)被触发,e.Collection[key]您可以在其中找到您发送的消息。
  • 如果您的应用程序未在前台运行,则点击 toast 通知应用程序将启动并导航到指定页面(此处/Home.xaml)。在OnNavigatedTo(NavigationEventArgs e)页面事件中,您可以找到您传递的参数并可以使用它们。

因此,您可以通过在参数值中发送 json 字符串来尝试一下,并可以在您的应用程序中使用它们。我没有尝试过。这些信息可能对您有用。

一切顺利。

于 2013-11-21T13:45:23.610 回答
0

如果你想发送通用内容,你应该使用Raw Notification。这可以包含您想要的任何内容。

原始通知的限制是,如果您的应用程序未运行,则无法接收它,因此您可能希望向设备发送 Toast(或磁贴)通知,然后在随后启动应用程序时触发原始通知的发送通知。
当然,如果您正在发出 Web 请求以触发发送单个原始消息,那么仅发送有效负载以响应触发请求可能会更好。

于 2013-02-27T11:24:23.893 回答