2016-12-02 7 views
3

tl; dr: Как зарегистрировать фоновое задание без запуска приложения?Регистрация фоновой задачи без запуска приложения

Длинная версия:

Я хочу зарегистрировать задачу фона запускать каждый раз, когда пользователь регистрируется при помощи SystemTriggerType.UserPresent.

Я нашел информацию о регистрации Задачи, но это код, который должен быть выполнен. Это было бы хорошо, если задача только должна быть выполнена после приложение запускается. Но как мне зарегистрировать задачу без при запуске приложения? Целевую Фон может быть зарегистрирован

var builder = new BackgroundTaskBuilder(); 

, а затем

builder.Name = taskName; 
builder.TaskEntryPoint = taskEntryPoint; 
builder.SetTrigger(trigger); 
BackgroundTaskRegistration task = builder.Register(); 

Как уже упоминалось здесь: Register a background task.

Но, как я уже сказал, мой вопрос заключается в том, как запустить этот код до того, как приложение когда-либо было выполнено.

ответ

6

Вы можете использовать расширение preInstalledConfigTask в манифесте. Эта задача будет запущена после установки вашего приложения.

Иногда ваше приложение необходимо будет обновить сразу после установки . Этот контракт позволит вам сразу же запустить задачу обновления без какого-либо взаимодействия с пользователем, чтобы ваше приложение было немедленно обновлено.

Here - это полный список всех доступных расширений.

preInstalledConfigtask можно установить с помощью манифеста редактора:

preinstall task in editor

<Extensions> 
    <Extension Category="windows.preInstalledConfigTask" EntryPoint="PreInstallTask.Task" /> 
    </Extensions> 

Вы найдете определение расширение в manifest schema

+0

Спасибо. +1. Хотя я пока не принимаю, пока не смогу проверить это. На данный момент, хотя задача (UserPresent, а не preInstalled), похоже, зарегистрирована, ее не вызывают, даже когда я выхожу и снова включаюсь. (И я думаю, что это должно быть вызвано, даже когда я только блокирую экран.) – ispiro

0

Я был один и тот же вопрос в последнее время и что не хватает в предыдущих ответах указано, что предварительно установленная конфигурация запускает только для OEM-производителей & МО. See here.

Это, как говорится, может быть невозможно сделать то, что вы хотите, поскольку задача никогда не срабатывает, если вы не управляете ОС и не отправляете изображение +, имеющее необходимые права в своем центре разработчика. See here.