5

アプリケーションに通知が送られます。ユーザーが通知またはライブ タイル (現在表示されているアイテム) をクリックしたときに、アプリケーションのそのページに移動できるようにしたいと考えています。

アプリがライブ タイルまたはトースト通知から起動されたときに、タイル データが何であるかを判断する方法はありますか?

また、ユーザーはライブ タイルを右クリックしてオフにすることもできます。それを検出してライブ タイルの送信をオフにする方法はありますか、それとも WNS で処理されますか?

ありがとう!

4

2 に答える 2

6

Windowsは、ユーザーがタイルを介してアプリを起動したときにタイルの内容を判別する方法を提供していません。UXガイドラインに従って、次のそれぞれから起動すると、対応する動作が必要になります。

  • メインタイル:アプリは、ユーザーがアプリまたはアプリのホームページを離れた最後の場所から起動する必要があります。
  • セカンダリタイル:アプリは、アプリ内の特定のコンテンツに対して起動する必要があります。
  • トースト:セカンダリタイルと同様に、アプリはアプリ内の特定のコンテンツに対して起動する必要があります。

3種類のアクティベーションはすべて、パラメータをに設定しOnActivatedてイベントを発生させます。IActivatedEventArgs.KindActivationKind.Launch

セカンダリタイルとトーストの両方のアクティベーションの場合、アプリはLaunchActivatedEventArgs.Argumentパラメーターで追加のコンテキストを提供できます。

セカンダリタイルの場合、起動引数パラメータは、SecondaryTile.Argumentsプロパティを介してタイルを作成するときに設定できます。

トースト通知の場合、起動引数パラメーターはトースト通知XMLの属性として設定されます。

<toast launch="myLaunchContext">
    ...
</toast>

最後に、アプリは、ユーザーがタイルをオンまたはオフにしたかどうかを確認する必要はありません。WindowsとWNSは、配信が必要かどうかを判断します。ユーザーはアプリの実行中にタイルのオン/オフを切り替えることができるため、アプリによって保存された状態が設定と同期していない可能性があります。

于 2012-10-27T20:00:03.380 に答える
2

アプリのランチを検出できますApp.xaml.cs

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);

        if(args.Kind == ActivationKind.Launch)
        {

        }
    }

ToastNotificationクリックイベントの処理方法に関する情報は次のとおりです。

于 2012-10-27T19:03:09.153 に答える