-1

私は非常に簡単なデモを作成して、UWPでバックグラウンドタスクとトースト通知を処理する方法を示しています。私はネットワーク接続の変更でトリガーされる簡単なタスクを持っています。彼の仕事は簡単な通知を表示することです。それはマニフェストで選択されたOSに登録されており、この作業はうまく機能します。アプリケーションがToastNotificationアクションから正しく実行されない

私は、パッケージを作成し、私のラップトップにアプリケーションをインストールして、アプリケーションが起動していない瞬間でも実行しようとしました。タスクも同様に機能します。

唯一の問題は、通知で[アプリを実行]ボタンをクリックすると、フォアグラウンドで実行しているアプリを起動したいということです。それはアプリを起動するが、私が見ることができる唯一のものは、私のアプリのスプラッシュ画面で、何も起こっていない。私はこの通知にMSDNチュートリアルを見て、私のXMLはほぼ同じです。

私のXML通知の内容

:あなたはあなたのアプリケーションの初期化を呼び出す必要が

protected override void OnActivated(IActivatedEventArgs args) 
{ 
    if (args.Kind == ActivationKind.ToastNotification) 
    { 
    var toastArgs = (ToastNotificationActivatedEventArgs)args; 
    ToastArg = toastArgs.Argument; 
    } 
} 
+0

App.xaml.csを投稿できますか? – thang2410199

+0

もちろん、私はApp.xaml.csの唯一の修正部分を追加しました。それ以外の部分は標準の "開始"アプリケーションコードです。しかし、私はこのコードなしでそれを試して、結果は同じでした。 –

答えて

2

<toast launch="app-defined-string"> 
    <visual> 
    <binding template="ToastGeneric"> 
     <text>Test notification</text> 
     <text>This is a simple toast notification</text> 
     <image placement="AppLogoOverride" src="../Assets/icon.png"/> 
    </binding> 
    </visual> 
    <actions> 
    <action activationType="foreground" content="Run App" arguments="check" /> 
    </actions> 
    <audio src="ms-winsoundevent:Notification.SMS" /> 
</toast> 

UPDATE

App.xaml.csでのみ変更部分(OnLaunchメソッド内のもの)をOnActivatedから取得します。初期化時にアプリが実行されているかどうかを確認してください。

+0

偉大なヒントありがとう、私は本当にあなたが通知からlauchアプリを起動時にOnLaunchedメソッドが起動しないことを知らない。主な欠落情報はおそらく 'rootoframe.Navigate(typeof(MainPage)、arg);' –

関連する問題