言語: HTML | XAML

トースト通知からアクティブ化を処理する方法 (XAML)

Applies to Windows and Windows Phone

  C#/VB/C++ を使用していない場合は、「トースト通知からアクティブ化を処理する方法 (HTML)」をご覧ください。

このトピックでは、アプリから送信されたトースト通知をクリックするユーザーへの応答で実行する必要のある処理について説明します。アプリは、トーストに固有の UI を表示して応答する必要があります。 一般に、アプリは、トーストのコンテンツに関係するコンテキストまたはビューで起動するようにしてください。 これはトースト ペイロードに含めたアクティブ化文字列を使って行います。この文字列は、アクティブ化イベント内の引数としてアプリに渡されます。基本的なデータ フローは次のとおりです。

  1. アプリまたは Web サービスが、起動文字列を含めてトースト ペイロードを作り、送信する
  2. このトーストが表示される/アクション センターに送られる
  3. ユーザーがこのトーストを選ぶ (クリックまたはタッチする)
  4. activated イベントが発生する
  5. アプリの activated イベント ハンドラーが、起動文字列を読み取る
  6. 起動文字列で指定されたパラメーターを使ってアプリが起動される
  Microsoft Visual Studio を使ってトースト通知コード機能をテストしている場合は、Windows x86、x64、または Windows ランタイムのコンピューターで、ローカル コンピューターとリモート コンピューターのいずれかのデバッグ設定を使う必要があります。Visual Studio シミュレーターのデバッグ機能オプションは使用できません。コードはシミュレーターでコンパイルされ、実行されますが、トーストが表示されなくなります。

理解しておく必要があること

テクノロジ

  • Windows Runtime

必要条件

このトピックを理解するための要件:

手順

ステップ 1: トースト ペイロードにアクティブ化データを含める

トースト通知を介してアプリをアクティブ化する場合は、トーストのコンテンツに関連する情報をアプリに与える必要があります。その結果、アプリはその既定ではなく関連付けられたビューで起動し、このコンテンツを反映できます。アプリまたは Web サービスによってトーストが作られる場合は、launch 属性が使われてこのアクティブ化情報が指定されます。この文字列は、コマンド ライン引数と同じと考えることができます。この文字列には、XML ペイロードを無効にすることがない限り、アプリが理解できる任意の情報を含めることができます。トーストの XML ペイロードの合計サイズ (起動文字列を含む) は 5 KB を超えることはできません。

起動属性文字列を含めないと、アプリはスタート画面から起動したときと同じように、通常どおりに起動します。

この手順は、toastXml という XmlDocument オブジェクトを既に作成してあることを前提としています。この例では、launch 属性を作成し、その文字列値を割り当て、これをトースト通知の XML ペイロードに追加します。トースト通知一式を作る方法については、「クイック スタート: トースト通知の送信」をご覧ください。



((XmlElement)toastNode).SetAttribute("launch", "{\"type\":\"toast\",\"param1\":\"12345\",\"param2\":\"67890\"}");

クイック スタート: トースト通知の送信」で定義されている visual 要素のコンテンツに基づいて、上のコードから次の XML が生成されます。



<toast launch="{&quot;type&quot;:&quot;toast&quot;:&quot;param1&quot;:&quot;12345&quot;:&quot;param2&quot;:&quot;67890&quot;}">                        
    <visual>
        <binding template="ToastImageAndText01">
            <image id="1" src="ms-appx:///images/redWide.png" alt="red graphic"/>
            <text id="1">Hello World!</text>
        </binding>
    </visual>
</toast>

ステップ 2: アプリの "OnLaunched" イベントを処理する

ユーザーがトーストをクリックするか、タッチして選び、関連付けられているアプリが起動すると、OnLaunched イベントが発生します。

  トーストに起動属性文字列を含めず、トーストが選ばれる時点で既にアプリが稼働している場合、OnLaunched イベントは発生しません。

この例は、OnLaunched イベントのオーバーライドの構文を示しており、トースト通知を通じて提供された起動文字列を取得して処理します。



protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    string launchString = args.Arguments

    ....
}

関連トピック

トースト通知のサンプル
Windows.UI.Notifications API namespace
トースト通知の概要
トースト通知のガイドラインとチェック リスト
クイック スタート: トースト通知の送信
トースト テンプレート カタログ
トーストの XML スキーマ

 

 

表示:
© 2015 Microsoft