2011-08-10 7 views
7

Próbowałem podążać za tym example od Microsoftu, najlepiej mogę powiedzieć, że zrobiłem wszystko z wyjątkiem umieszczania Zaplanowanej Odmowy i Okresowej w osobnym zestawie. Gdy uruchomię swoją aplikację w emulatorze i spróbuję uruchomić zadanie okresowe za pomocą:
ScheduledActionService.LaunchForTest (_task.Name, TimeSpan.FromSeconds (60));
Nic się nie dzieje, nie ma wyjątków, a po minucie funkcja Zaplanowane zadanie nigdy się nie uruchamia, a gdy patrzę pod "Ustawienia> Zadania w tle" na emulatorze nic nie jest wymienione.Czy obiekty ScheduledTaskAgent i PeriodicTask muszą znajdować się w osobnym złożeniu z głównej aplikacji?

Odpowiedz

9

Tak, muszą być w oddzielnym zespole i trzeba odwoływać się do niej w swojej WMAppManifest.xaml coś takiego:

<Tasks> 
    <DefaultTask Name="_default" NavigationPage="Views/MainPage.xaml" /> 
    <ExtendedTask Name="BackgroundTask"> 
     <BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="DMI.ScheduledAgent" Source="DMI.TaskAgent" Type="DMI.TaskAgent.ScheduledAgent" /> 
    </ExtendedTask> 

można przeczytać na MSDN jakie są poprawne wartości dla atrybutów BackgroundServiceAgent są.

Jeśli używasz Visual Studio Windows Phone zaplanowane zadanie agenta szablon, zadanie BackgroundServiceAgent zostanie automatycznie dodany w WMAppManifest.xaml z prawidłowymi wartościami.

+0

Rozdzielam go na osobny zespół i widzę go w "Ustawieniach> Zadania w tle", ale nic się nie dzieje. Czy muszę zrobić coś specjalnego, aby debugować ScheuledTaskAgent? – Tyler

+0

1 minuta to szalenie długi okres. Spróbuj ustawić na 0. I nie, nic specjalnego, powinno po prostu działać. Spróbuj użyć toastu, aby sprawdzić, czy rzeczywiście działa w nim ShellTask! –

+0

Dzięki Claus, miałem niewłaściwą nazwę klasy w Manifeście, teraz działa. – Tyler

Powiązane problemy