Windows 10では、トースト通知のアクティブ化をフォアグラウンドまたはバックグラウンドから処理できます。 Windows 10では、<action>
要素にactivationType
という属性を持つ適応型および対話型の通知を導入しています。この属性を使用して、このアクションがどのような種類の起動を行うかを指定できます。例えば、以下のトーストを使用すると、ユーザは「詳細を参照」ボタンをクリックすると
<toast launch="app-defined-string">
<visual>
<binding template="ToastGeneric">
<text>Microsoft Company Store</text>
<text>New Halo game is back in stock!</text>
</binding>
</visual>
<actions>
<action activationType="foreground" content="See more details" arguments="details"/>
<action activationType="background" content="Remind me later" arguments="later"/>
</actions>
</toast>
は、それがフォアグラウンドにアプリをもたらすでしょう。 Application.OnActivated methodが呼び出され、新しいactivation kind-ToastNotificationが追加されます。以下のように、我々はこの活性化を扱うことができます。
protected override void OnActivated(IActivatedEventArgs e)
{
// Get the root frame
Frame rootFrame = Window.Current.Content as Frame;
// TODO: Initialize root frame just like in OnLaunched
// Handle toast activation
if (e is ToastNotificationActivatedEventArgs)
{
var toastActivationArgs = e as ToastNotificationActivatedEventArgs;
// Get the argument
string args = toastActivationArgs.Argument;
// TODO: Handle activation according to argument
}
// TODO: Handle other types of activation
// Ensure the current window is active
Window.Current.Activate();
}
をユーザが「後で通知する」ボタンをクリックすると、それは代わりにフォアグラウンドアプリを起動させるのバックグラウンドタスクをトリガーします。したがって、バックグラウンドタスクで別のバックグラウンドタスクを開始する必要はありません。
背景通知をトースト通知から処理するには、バックグラウンドタスクを作成して登録する必要があります。 バックグラウンドタスクは、"システムイベント"タスクとしてアプリケーションマニフェストで宣言し、そのトリガーをToastNotificationActionTriggerに設定する必要があります。その後、バックグラウンドタスク、同様にクリックされたボタンを決定するために事前定義された引数を取得するためにToastNotificationActionTriggerDetailを使用中:詳細情報については
public sealed class NotificationActionBackgroundTask : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;
if (details != null)
{
string arguments = details.Argument;
// Perform tasks
}
}
}
、Adaptive and interactive toast notificationsを参照してください、特にHandling activation (foreground and background)。 GitHubのthe complete sampleもあります。
これは役に立ちそうです: http://www.kunal-chowdhury.com/2016/02/uwp-tips-toast-button.html –