バックグラウンドエージェントが2つのインスタンスを作成するため、投稿に失敗しました(過去のアップロード確認を取得できませんでしたが、理由を特定できません)。ここスケジュールされたタスクが2回表示されます
は、ここapp.xaml.cs方法において、(Iも同じ結果とMainPageVM.csとMainPage.xaml.csでそれを配置しようとしている)
private void RegisterBackgroundTask()
{
var taskName = "xxUpdater";
var oldTask = ScheduledActionService.Find(taskName) as PeriodicTask;
if (oldTask != null)
{
ScheduledActionService.Remove(taskName);
}
PeriodicTask task = new PeriodicTask(taskName);
task.Description = Strings.xxBackgroundTaskDescription;
oldTask = ScheduledActionService.Find(taskName) as PeriodicTask;
if (oldTask == null)
{
ScheduledActionService.Add(task);
}
//ScheduledActionService.LaunchForTest(taskName, TimeSpan.FromSeconds(60));
}
が通話でありますアプリケーション起動時:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
{ RegisterBackgroundTask(); }
}
初めてアプリを実行したとき、私はバックアウトして見て、1つのタスクがあります。その後、私は再び実行し、ステップスルーし、削除呼び出しは(それを削除する代わりに)タスクをオフにします。それが追加呼び出しに達すると、元のタスクはオンになるだけでなく、別のタスクが追加されます。その時点で、私がアプリを取り戻して再起動すると、removeは1つのインスタンスをオフにし、もう一方のインスタンスを残し、Addコールはそれを再びオンにします。再構築またはアンインストールの後を除いて、oldTaskはnullではありません。
if(oldTask == old)は最初は存在しませんでしたが、2番目のインスタンスの作成を妨げることを期待して追加しました。ときには、私がアンインストールすると、バックグラウンドタスクがまだオフになっているので、電話を消してから離れるようにする必要があります。
私はアップロード時に検証を失敗します。「スケジュールされたバックグラウンドエージェントタイプのインスタンスを1つ以上定義することはできません。(2019)」 –