Background Task i zdarzenie OnCompleted

0

Witam,

Stworzyłem aplikację, w której wykorzystuję BackgroundTask. W momencie wywołanie metody:

private BackgroundTaskDeferral _deferral;

...

_deferral.Complete();

w klasie, wywołującej BackgroundTask, wywołuje się metoda:

 
        private void OnCompleted(IBackgroundTaskRegistration task, BackgroundTaskCompletedEventArgs args)
        {
            ScheduleToast("Tresc", 1);
        }

Ma ona bardzo proste zadanie. Po zakończeniu działania aplikacji w tle powinna wyświetliść zwykły Toast:

        private void ScheduleToast(String content, int secondsToStart)
        {
            string toastXmlString =
                "<toast>"
                + "<visual version='2'>"
                + "<binding template='ToastText02'>"
                + "<text id='1'>" + "MediGuard (ALARM): " + DateTime.Now.ToLocalTime() + "</text>"
                + "<text id='2'>" + content + "</text>"
                + "</binding>"
                + "</visual>"
                + "</toast>";

            XmlDocument toastDOM = new XmlDocument();
            toastDOM.LoadXml(toastXmlString);

            DateTime startTime = DateTime.Now.AddSeconds(secondsToStart);

            ScheduledToastNotification newToast = new ScheduledToastNotification(toastDOM, startTime);
            newToast.Id = "ALARM_TOAST";

            ToastNotificationManager.CreateToastNotifier().AddToSchedule(newToast);
        } 

Problem tkwi w tym że podczas debugowania aplikacji wszystko działa poprawnie, przełączam sie pomiędzy zadaniami i toast wyświetla sie również prawidłowo, jednak po uruchomieniu zainstalowaniej aplikacji na telefonie bez debugowania nic nie odpowiada. Wiem że aplikacja w tle pracuje jednak wcale nie reaguje. W czym może być problem? Podczas debugowania aby móc wyświetlić Toast muszę przełączyć debugger na stworzony Background Task wówczas on wykonuje dalej swoje działanie i dopiero wtedy wywołuje zdarzenie OnCompleted, czy to może być coś z tym związane?

0

Dodaj jakiś logger i sprawdź co się dzieje w telefonie.

0

Tak sprawdzałem, jednak w wersji release działa również w tle jednak podczas chwili wyswietlenia Toast'a nic sie nie dzieje. Podczas debugowania Toast sie wyświetla poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1