Мне не удалось отправить заявку (я даже не смог пройти проверку загрузки), потому что мой фоновый агент создает два экземпляра, но я не могу понять, почему.
Вот метод, в app.xaml.cs (я также пытался найти его в 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));
}
Здесьэто вызов в Application_Launching:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
{ RegisterBackgroundTask(); }
}
При первом запуске приложения я возвращаюсь назад, смотрю, и есть одна задача.Затем я снова запускаю, проходя через, и вызов удаления отключает задачу (вместо ее удаления).Когда он получает вызов add, он не только включает исходную задачу, но и добавляет другую.С этого момента, когда я возвращаюсь и перезапускаю приложение, при удалении один экземпляр отключается, а другой остается, а вызов Add снова включается.OldTask никогда не имеет значения null, за исключением случаев, когда после восстановления или удаления.
Если (oldTask == old) изначально не было, я добавил его, надеясь, что это предотвратит создание второго экземпляра.Иногда при удалении все еще остается фоновая задача, которая выключается, и мне приходится выключать и снова включать телефон, чтобы он ушел.