2016-07-27 18 views
0

C#とXAMLを使用してWindows 10ユニバーサルでプッシュ通知を行っています。すべてが完璧に動作しています。私は通知を受け取り、アプリが、私は通知が入って来たときに何かをするために、この機能を使用する実行しているとき。アプリがアクティブでないときに通知を処理するにはどうすればよいですか?

private async void Channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs e) 
{ 
    e.Cancel = true; 
    //do something in reaction to the notification 
} 

しかし、アプリがバックグラウンドで動作しているとき、私はバッジの形でトースト通知を取得します。それをクリックすると、アプリは最後のページに開きます。しかし、私がしたいことは、バッジがクリックされたときに自分のコードで関数を呼び出せるようにすることです。これはどうすればいいですか?

答えて

1

アプリケーションが前に実行されていない場合、それが起動されると、あなたはOnActivatedイベントハンドラにコードを置くことができます。

あなたは使います通知の種類に応じて、取り扱いの小さな違いがあり、可能なタイプは次のとおりです。トースト通知から

  • 前景の活性化から
  • のWindows 10 適応テンプレートを使用してバックグラウンドの活性化レガシーテンプレートを使用してトースト通知からフォアグラウンド活性化 :Windowsの10適応テンプレート
  • レガシーを使用してトースト通知 。

これは、Windows 10トーストテンプレート(最も使用される1)でフォアグラウンド活性化のために使用することがありますコードです:

protected override void OnActivated(IActivatedEventArgs args) 
{ 
    // TODO: Initialize root frame just like in OnLaunched 

    // Handle toast activation 
    if (args.Kind == ActivationKind.ToastNotification) 
    { 
     var toastArgs = args as ToastNotificationActivatedEventArgs; 

     // your code 
    } 

    // TODO: Handle other types of activation 
} 

あなたは、各タイプのサンプルのため、このquickstart for sending and handling activationsに従うことができます。クイックスタートでは、NuGetパッケージを使用して簡単に生活を楽しめます。

関連する問題