0

私はこのように実装しようとしています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など?*

4

1 に答える 1

1

どこでも通知を受け取るには、「 Windows Phone 7 でトースト通知を送信する」に示されているように、コードをApp()コンストラクター内に配置してみてください。App.xaml.cs

アプリの実行中はトースト通知が表示されないため、この方法で表示することはできません (手動でToastPromptを実行しようとしても)。したがって、この場合はShellToastNotificationReceivedを使用して通知を処理する必要があります。

アプリが実行されていないときは、トースト通知が表示されるはずです。

于 2012-06-28T23:18:51.673 に答える