2017-01-13 7 views
0

生プッシュ通知でトリガーされたOnBackgroundActivated()を取得しようとしている私の現在のUWPプロジェクト。登録は以下のとおりである:私は生の通知を送信する際UWP OnBackgroundActivated PushNotificationTrigger(生の通知)

var builder = new BackgroundTaskBuilder(); 
builder.Name = taskName; 
builder.SetTrigger(new PushNotificationTrigger()); 
BackgroundTaskRegistration task = builder.Register(); 

アプリは(Visual Studioのに取り付けられた状態で「再開」(アクティブ)、その後、OnBackgroundActivatedされた場合)に呼び出されます。私はSystem.Diagnostics.Debug.WriteLine()を使用してそれを見ることができます。

アプリケーションがVisual Studioに接続され、状態が「中断」(アクティブではない)の場合、OnBackgroundActivated()は呼び出されません。しかし、状態を「Resume」に戻すとすぐに、OnBackgroundActivated()は、アプリがアクティブではない間に送信した生の通知で呼び出されます。アプリが再びアクティブになるまで、未処理の通知がキューに入れられるようです。

なぜアプリケーションがアクティブでないうちにOnBackgroundActivated()がすぐに起動しないのですか?私はそれがこの機能の主な目的だと思った。

+0

この[OnBackgroundActivatedメソッド](https://msdn.microsoft.com/library/windows/apps/windows.ui.xaml.application.onbackgroundactivated.aspx)を使用していますか? 'PushNotificationTrigger'を実装するために[単一プロセスモデル](https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-an-inproc-background-task)を使用していますか? ? –

+0

はい、単一プロセスモデルです。 – user1195883

+0

問題を再現できません。私の側では、OnBackgroundActivatedメソッドが呼び出されても、Lifetime Managementイベントを「Suspend」に変更しました。あなたが使用しているOSのバージョンは何ですか?問題を再現できる[mcve]を共有できますか? –

答えて

0

まだパーティーに遅れていますが、これは誰かのために2日を節約します。私は同じ問題に直面していましたが、私のケースではappxmanifestのターゲットデバイスファミリを14393以上に変更しました。

変更

<TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" /> 

すべてのノードの

<TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" /> 

へ。奇妙なことに、特定のデバイスファミリを使用せずにユニバーサルを使用すると、 10.0.00000.0のままにしておくことができます。

関連する問題