Регистрация и запуск фоновой задачи из другой фоновой задачи

#c# #win-universal-app #windows-10-universal #windows-10-mobile

#c# #win-universal-app #windows-10-универсальный #windows-10-mobile

Вопрос:

Мое приложение приостановлено, а не отображается на экране; оно запускается только один раз, я регистрирую свою первую фоновую задачу (на основе TimeTrigger), а затем перезагружаю телефон, чтобы убедиться, что мое приложение полностью приостановлено. Я не запускаю приложение снова.

У меня есть две фоновые задачи:

1) Первая фоновая задача, запускаемая TimeTrigger (с интервалом в 15 минут)

2) Вторая фоновая задача, запускаемая DeviceUseTrigger

Теперь, когда через 15 минут запускается моя первая фоновая задача и в это время я пытаюсь зарегистрировать свою вторую фоновую задачу, я получаю сообщение «Система отклонила запрос фоновой задачи».

Итак, у меня сложилось впечатление, что фоновая задача DeviceUseTrigger не может быть зарегистрирована и запущена из любой другой фоновой задачи, для этого всегда нужен поток пользовательского интерфейса. (Я прав здесь? Пожалуйста, дайте мне знать).

У меня есть еще один вопрос, могу ли я использовать Push-уведомление для запуска фоновой задачи с помощью DeviceUseTrigger?

Может ли Push-уведомление действовать как поток пользовательского интерфейса для регистрации и запуска DeviceUseTrigger, и почему-то я не получаю сообщение об ошибке при вызове await _deviceUseTrigger.RequestAsync(DeviceID);

Комментарии:

1. Нужен код. Вы можете использовать Task и передать объект TaskScheduler, чтобы указать, в каком контексте вы хотите, чтобы что-то выполнялось. Но мы мало что можем сделать без кода.

2. Регистрация фоновой задачи должна быть в потоке пользовательского интерфейса. Из уведомления вы можете запустить свое приложение, после запуска приложения, конечно, вы можете зарегистрировать фоновую задачу.