У меня есть простая форма xaml, которая при вызове LoadState включает таймер отправки. Когда таймер отправки срабатывает, он проверяет сервис на наличие новых элементов. Если новый элемент соответствует определенным критериям, он добавляет сообщение в локальную переменную (которая в конечном итоге привязывается к списку), и мы используем инфраструктуру ToastNotification для создания нового всплывающего уведомления. Тем не менее, одна вещь, которую я заметил, заключается в том, что ToastNotifications работают только тогда, когда приложение сфокусировано (что, конечно, лишает смысла). Я думаю, что это имеет смысл отчасти потому, что мое приложение приостанавливается, когда оно не сфокусировано.
Однако я знаю, что мой DispatchTimer выполняется, когда приложение приостановлено, потому что я вижу, как веб-запросы отправляются в службу. Это должно означать, что мой вызов для отправки уведомления каким-то образом отложен. Я полагаю, концептуально, как мне заставить выполнять всплывающие уведомления, если мое приложение приостановлено? Я читал о BackgroundTasks, но они реагируют только на системные события. Чего я действительно хочу, так это того, чтобы мое приложение опрашивало сообщения независимо от его приостановленного состояния, обновляло пользовательский интерфейс, когда это возможно, и обновляло уведомления независимо от того, приостановлено приложение или нет.