У меня есть фоновая задача, которая в настоящее время запускается всякий раз, когда мое приложение запускается и в данный момент не выполняется.Но я бы хотел, чтобы он также запускался при запуске, если это возможно.Я изучил триггеры, и, похоже, нет ни одного, который мог бы запустить его при запуске.Согласно MSDN, есть способ сделать задачу запуска, но они не говорят, как преобразовать мою текущую задачу в задачу запуска.Возможно ли это:
<uap5:Extension Category="windows.startupTask">
<uap5:StartupTask
TaskId="MyStartupId"
Enabled="true"
DisplayName="Background-Keyboard task" />
</uap5:Extension> //Documentation
<Extension Category="windows.backgroundTasks" EntryPoint="Background.BackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension> //My task
В настоящее время я инициирую свою задачу следующим образом:
var builder = new BackgroundTaskBuilder();
builder.Name = exampleTaskName;
builder.TaskEntryPoint = "Background.BackgroundTask";
ApplicationTrigger _AppTrigger = new ApplicationTrigger();
builder.SetTrigger(_AppTrigger);
builder.Register();
await _AppTrigger.RequestAsync();
Редактировать: Моя причина для этого:
Мое приложение предоставляет фонсервис, который можно включать и выключать.Он должен работать все время, и это работает после того, как я открою приложение.Но нет необходимости открывать его каждый раз, когда устройство перезагружается, что в настоящее время имеет место, и я хочу добавить возможность запуска фоновой службы при запуске.В идеале я также хотел бы сохранить текущий способ его запуска - через _AppTrigger.RequestAsync();
, поэтому мой ползунок включения / выключения продолжает работать.