Come ottenere l'elenco delle attività in background in sospeso (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Come ottenere un elenco delle attività correntemente registrate dall'app. Questo elenco include le attività in background registrate dall'app durante le precedenti sessioni in primo piano, in modo che tu possa controllare prima di registrare di nuovo più volte un'attività in background. Per altre informazioni, vedi Come registrare un'attività in background.
Cosa sapere
Tecnologie
Prerequisiti
- In questo argomento partiamo dal presupposto che l'app registri le attività in background e che le attività in background registrate gestiscano l'annullamento e l'avanzamento nel modo descritto in Come gestire un'attività in background annullata. Per iniziare rapidamente a creare attività in background, vedi Guida introduttiva: Creazione e registrazione di un'attività di background. Per informazioni più dettagliate su condizioni e trigger, vedi Supporto dell'app con attività in background.
Istruzioni
Passaggio 1:
L'elenco delle attività in background attualmente registrate dall'applicazione viene gestito nella proprietà Windows.ApplicationModel.Background.BackgroundTaskRegistration.AllTasks. Usa un ciclo while per scorrere l'elenco e cercare il nome dell'attività in background.
L'esempio di attività in background, ad esempio, prima di registrare l'attività in background ServicingComplete usa il codice seguente per verificare se è già registrata:
//
// Check whether the servicing-complete background task is already registered.
//
var iter = Windows.ApplicationModel.Background.BackgroundTaskRegistration.allTasks.first();
var hascur = iter.hasCurrent;
while (hascur) {
var cur = iter.current.value;
if (cur.name === BackgroundTaskSample.servicingCompleteTaskName) {
BackgroundTaskSample.updateBackgroundTaskStatus(BackgroundTaskSample.servicingCompleteTaskName, true);
return;
}
hascur = iter.moveNext();
}
Passaggio 2:
È probabile che un'app che registra attività in background consenta di cercare registrazioni in più situazioni. Per rendere ancor più semplice l'attività, puoi creare una funzione per trovare un'attività in background in base al nome. Se la funzione non trova l'attività, restituisce null e quindi, ad esempio, l'app può determinare se registrare o meno l'attività.
Nell'app puoi usare la funzione seguente:
//
// Check for a registration of the named background task. If one exists,
// return it.
//
function FindTask(taskName) {
var taskRegistered = false;
var background = Windows.ApplicationModel.Background;
var iter = background.BackgroundTaskRegistration.allTasks.first();
var hascur = iter.hasCurrent;
while (hascur) {
var cur = iter.current.value;
if (cur.name === taskName) {
//
// The task is registered, return it.
//
return cur;
}
hascur = iter.moveNext();
}
//
// The task was not found. Return null.
//
return null;
}
Argomenti correlati
Guida introduttiva: Creare e registrare un'attività in background
Come registrare un'attività in background
Come gestire un'attività in background annullata
Come monitorare l'avanzamento e il completamento delle attività in background
Come dichiarare le attività in background nel manifesto dell'applicazione
Come eseguire il debug di un'attività in background
Linee guida ed elenchi di controllo per le attività in background