Chciałem zapytać czy istnieje możliwość tworzenia wielu wyzwalaczy dla zadania w tle, by mieć możliwość wyzwalania czasowego i wymuszonego z poziomu aplikacji.
Mam tu na myśli coś takiego:
Czasowy
builder.SetTrigger(new TimeTrigger(interval, false));
Z poziomu aplikacji
builder.SetTrigger(new ApplicationTrigger());
Potem rejestruję zadanie i wyzwalam od razu przez:
try
{
BackgroundTaskRegistration task = builder.Register();
if (run)
try
{
var trigger = task.Trigger as ApplicationTrigger;
await trigger.RequestAsync();
}
catch (Exception ex)
{
await MessageBoxHelper.DisplayErrorAsync(resLoader.GetString("/ErrorMessages/CantTriggerTask"));
}
}
catch
{
await MessageBoxHelper.DisplayErrorAsync(resLoader.GetString("/ErrorMessages/CantRegisterTask"));
}
Oczywiście to powyżej nadpisuje wyzwalacz, więc jedyna znana mi droga, to rejestracja odrębnego zadania z odmiennym typem wyzwalacza, by wywołać zadanie zarówno w z poziomu aplikacji jak i czasowo, co jest nieco niewygodne moim zdaniem dlatego pytam.