BackgroundTaskDeferral.Completeは、アプリケーションがデバッグで実行されているときに正常に動作し、アプリケーションが中断してもOnCompleteイベントをキャッチできます。UWPアプリケーションでデバッグせずにアプリケーションを実行すると、BackgroundTaskDeferral.Completeが機能しません。
しかし、アプリケーションがデバッグせずに実行され、アプリがバックグラウンドになると、BackgroundTaskDeferral.Completeは機能しません。メインプロジェクト、私はあなたが修正理解している場合は何時にバックグラウンドタスクの呼び出し(私はトースト通知が表示されますonCompleteのメインプロジェクトキャッチイベント)
BackgroundTaskDeferral _deferral = taskInstance.GetDeferral();
_deferral.Complete();
バックグラウンドタスクは、アプリケーションが閉じられたときにメインプロジェクトの関数にコールバックできません。バックグラウンドタスクはフォアグラウンドでアプリケーションを実行しても機能しますか? – ThangBM
@ThangBM Deferal.Completeは、バックグラウンドタスクで非同期メソッドを処理するために使用されます。非同期メソッドが他のスレッドで実行されている場合、遅延なしでRunメソッドは終了し、OSはタスクを終了します。延期を取得したら、システムは何か他のことが起こっていることを知っています。完了すると、OSにリソースを解放できるというサインを与えます。 – Romasz
ありがとうございます。アプリが閉鎖している場合、バックグラウンドタスクで通知トリガーを受け取ったときに、メインプロジェクトでデータベースにクエリを行いたいのですが、どうすればいいですか? – ThangBM