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 プッシュ通知のペイロードは次のようになります。

<?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 から含まれており、アプリケーションが閉じられたときにトースト通知が受信されたときに、ユーザーを特定のページに移動するために使用されます。また、アプリケーションを閉じてトーストが届いたときにカスタム メッセージを表示する場合は、特定のページに移動し、カスタム メッセージを含むメッセージ ボックスを表示します。

これは私があなたが知りたいと思ったことです。ありがとう

于 2013-04-22T10:52:38.350 に答える
0

追加

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