Mam zadanie w tle w mojej aplikacji, która jest uruchamiana co 15 minut (na ekranie blokady). Czy można wykryć, czy moja aplikacja działa podczas wykonywania zadania w tle? W takim przypadku chciałbym pominąć wykonywanie zadań w tle, aby uniknąć problemów z współbieżnością.Zadanie w tle i wykrywanie uruchomionej aplikacji
Odpowiedz
Nie można wykryć, kiedy aplikacja działa z zadania w tle, ale można wykryć, kiedy zadanie w tle jest uruchamiane z aplikacji przy postępach w postępowaniu w tle i postępach ukończonych.
Ten próbka obejmuje wszystko, co powinno być potrzebne. http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9
Ponieważ zarówno aplikacja i zadanie tło mają dostęp do danych aplikacji, mają App Store flagę w ApplicationData.localSettings gdy jest aktywowany, rozliczeń flagę, gdy jest zawieszona i zresetowanie flagi kiedy to wznowione. Zadanie w tle może następnie sprawdzić tę flagę po uruchomieniu i podjąć decyzję.
tak, brzmi jak tylko rozwiązanie, ale co, jeśli aplikacja zostanie nieoczekiwanie zakończona? –
Czy brałeś pod uwagę wspólny Mutex? Pozwoli to zaoszczędzić od okropnych sytuacji, w których (na przykład) zadanie w tle zakończy się niepowodzeniem i nie wyczyści jego flagi, lub ustawienie localSettings zostanie uszkodzone.
Związek ten mi mówi: „Ten artykuł nie został jeszcze opublikowany Jeżeli jesteś właścicielem tego projektu, zaloguj się z odpowiednim kontem.”. –
Wydaje Microsoft usunął stare próbki, I zostały zaktualizowane związek z próbka systemu Windows 8.1. – Tim