Моя периодическая задача, которая является агентом фона, не вызывается снова и снова в Windows Phone 7.1 - PullRequest
3 голосов
/ 07 января 2012

Я создал простую периодическую задачу, которая будет показывать тосты каждые 15 секунд.Но это только показывает тост только один раз и никогда больше.Я запускаю проект только в режиме отладки.Вот мой кодГде я делаю ошибку?

// ЭТО КОД ГЛАВНОЙ СТРАНИЦЫ

private void button1_Click(object sender, RoutedEventArgs e)
{
    // A unique name for your task. It is used to 
    // locate it in from the service.
    var TASK_NAME = "ScheduledTaskAgent1";

    PeriodicTask task = new PeriodicTask(TASK_NAME);
    task.Description = "This is our custom agent for Day 25 - Background Agents";
    ScheduledActionService.Add(task);
    ScheduledActionService.LaunchForTest(TASK_NAME,
    TimeSpan.FromMilliseconds(1500));
}

// ЭТО КОД ГРАФИКОВ

protected override void OnInvoke(ScheduledTask task)
{
    //TODO: Add code to perform your task in background
    ShellToast popupMessage = new ShellToast()
    {
        Title = "My First Agent",
        Content = "Background Task Launched",
    };
    popupMessage.Show();
    NotifyComplete();
}

Ответы [ 2 ]

1 голос
/ 07 января 2012

LaunchForTest вызывает вашу задачу один раз после указанной задержки, которая, кстати, вы указали как 1,5 секунды, а не 15. В вашем OnInvoke добавьте следующий перед NotifyComplete ();

ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(15));

Don 'не забывайте, что LaunchForTest предназначен для разработки и не должен использоваться в сборке релиза.

0 голосов
/ 12 июля 2016

Вы не можете вызывать задачу так часто. Система запускает ваш агент через ~ 28 минут. Ограничения для периодических агентов перечислены здесь: https://msdn.microsoft.com/en-us/library/windows/apps/hh202942(v=vs.105).aspx#BKMK_ConstraintsforPeriodicAgents

...