2016-05-18 18 views
0

私のクラスのリマインダを含むファイルがあります。適切なタイミングで私は通知を持っています。私はNotificationExtensionuwpアプリケーションでインタラクティブな通知をどのように処理できますか?

ToastContent content = new ToastContent() 
    { 
     Launch = "OrangeReminder", 

     Visual = new ToastVisual() 
     { 
      TitleText = new ToastText() 
      { 

       Text = "OrangeReminder" 
      }, 

      BodyTextLine1 = new ToastText() 
      { 
       Text = "" 
      }, 
      BodyTextLine2 = new ToastText() 
      { 
       Text = "" 
      }, 
     }, 
     Actions = new ToastActionsCustom() 
     { 
      Buttons = 
      { 
       new ToastButton("Done", "1") 
       { 
        ActivationType = ToastActivationType.Background, 
       } 
      } 
     }, 

    }; 

との通知を作成して、私は、バックグラウンドタスク

私はときに通知中にボタンを押す私のファイルからリマインダを削除するには、バックグラウンドタスクに書くのですか何
namespace BackgroundTasks 
{ 
public sealed class ToastNotificationBackgroundTask : IBackgroundTask 
{ 
    public void Run(IBackgroundTaskInstance taskInstance) 
    { 
     var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail; 
     var arguments = details.Argument; 
     //??? 
    } 

を作成しますか?私はリマインダーIDが必要だと思いますか?それを得る方法?

+0

リマインダーIDの取得に関する質問については、以下の回答を掲載しました。リマインダーIDを取得したら、ファイルからリマインダーを削除するにはどうすればよいですか?ファイルは何を意味しますか?ローカルストレージに置かれたファイルですか?私はこれについて少し興味があります:) –

+0

私はファイルが "AllReminder.json"私はコレクションを持っています。 (GetRemObject)を削除します。 – SuxoiKorm

+0

私はこれを試しています。 if(arguments == "1") { LoadFile(); DS.AllRem.RemoveAt(1);ファイルをロードしてコレクションをロードして削除します。 } しかし、彼の仕事はありません。通知は消えません。リマインダーは削除されません。 – SuxoiKorm

答えて

0

バックグラウンドタスクでは、通知でボタンを押したときにファイルからリマインダを削除しますか?私はリマインダーIDが必要だと思いますか?それを得る方法?

まず、あなたのリマインダーIDを取得し、ToastContentの引数にそれを設定します。

// get your Reminder Id 
string reminderID = GetReminderID(); 

ToastContent content = new ToastContent() 
{ 
    ... 
    Actions = new ToastActionsCustom() 
    { 
     Buttons = 
     { 
      // set your Reminder ID into the Argument to pass it to the background task 
      new ToastButton("Done", reminderID) 
      { 
       ActivationType = ToastActivationType.Background, 
      } 
     } 
    }, 
}; 

は、その後、あなたは引数てバックグラウンドタスクであなたのリマインダーIDのを得ることができます

public sealed class ToastNotificationBackgroundTask : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail; // get your Reminder Id in Background task through the Argument var reminderID = details.Argument; } } 
関連する問題