Condividi tramite


Come usare il trigger di manutenzione (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 ]

Scopri come usare la classe MaintenanceTrigger per eseguire codice leggero in background quando il dispositivo è collegato all'alimentazione da rete elettrica.

Cosa sapere

Tecnologie

Prerequisiti

  • Questo esempio presuppone che tu abbia a disposizione codice leggero da eseguire in background per ottimizzare la tua app mentre il dispositivo è collegato all'alimentazione. In questo argomento vengono fornite informazioni sulla classe MaintenanceTrigger, che è simile a SystemTrigger per il fatto che l'app non deve trovarsi nella schermata di blocco per registrare un'attività in background MaintenanceTrigger. Per altre informazioni sulla scrittura di una classe di attività in background, vedi Guida introduttiva: Creare e registrare un'attività in background.

Istruzioni

Passaggio 1: Creare un oggetto di attivazione della manutenzione

Crea un nuovo oggetto MaintenanceTrigger. Il secondo parametro, OneShot, specifica se l'attività di manutenzione verrà eseguita una sola volta o periodicamente. Se il parametro OneShot è impostato su true, il primo parametro (FreshnessTime) specifica il numero di minuti di attesa prima della pianificazione dell'attività in background. Se OneShot è impostato su false, FreshnessTime specifica la frequenza in base a cui verrà eseguita l'attività in background.

Nota  Se FreshnessTime è impostato su un valore inferiore ai 15 minuti, viene generata un'eccezione quando si tenta di registrare l'attività in background.

 

Questo codice di esempio crea un trigger che viene eseguito una volta all'ora:

var waitIntervalMinutes = 60;

var taskTrigger = new Windows.ApplicationModel.Background.MaintenanceTrigger(waitIntervalMinutes, false);

Passaggio 2: (Facoltativo) Aggiungi una condizione

Se necessario, aggiungi una condizione per l'attività in background, in modo da controllare quando verrà eseguita l'attività. Una condizione consente di impedire che l'attività in background venga eseguita fino a quando non si verifica la condizione. Per altre informazioni, vedi Come impostare le condizioni per l'esecuzione di un'attività in background.

In questo esempio, la condizione è impostata su UserPresent, per garantire che la manutenzione venga eseguita solo quando l'utente è o diventa attivo. Per l'elenco delle possibili condizioni per le attività in background, vedi SystemConditionType.

Nel codice seguente viene aggiunta una condizione all'oggetto TaskBuilder per la manutenzione:

var exampleCondition = new Windows.ApplicationModel.Background.SystemCondition(Windows.ApplicationModel.Background.SystemConditionType.UserAway);

Passaggio 3: Registra l'attività in background

Registra l'attività in background chiamando la funzione di registrazione delle attività in background. Per altre informazioni sulla registrazione delle attività in background, vedi Come registrare un'attività in background.

Nel codice seguente viene eseguita la registrazione dell'attività in background:

var entryPoint = “js\\ExampleBackgroundTask.js”;
var taskName = “Maintenance background task example”;

var task = RegisterBackgroundTask(entryPoint, taskName, taskTrigger, exampleCondition);

Nota  

Nelle app di Windows Phone Store, devi chiamare RequestAccessAsync prima di tentare di registrare attività in background. In Windows la chiamata è necessaria solo per il set di attività in background per la cui esecuzione l'app deve essere nella schermata di blocco. Nel telefono devi tuttavia chiamare il metodo una volta prima di registrare attività in background.

Per garantire che l'app di Windows Phone continui a funzionare correttamente dopo il rilascio di un aggiornamento, devi chiamare RemoveAccess e poi chiamare RequestAccessAsync all'avvio dell'app dopo l'aggiornamento. Per altre informazioni, vedi Linee guida per le attività in background (HTML).

Nota  

A partire da Windows 8.1, i parametri di registrazione dell'attività in background vengono convalidati al momento della registrazione. Se uno dei parametri di registrazione non è valido, viene restituito un errore. L'app deve essere in grado di gestire scenari in cui si verifica un errore di registrazione dell'attività in background. Puoi ad esempio usare un'istruzione condizionale per controllare la presenza di errori di registrazione e quindi eseguire un nuovo tentativo in caso di errore della registrazione usando valori dei parametri diversi.

 

Osservazioni

Gli eventi dei trigger di manutenzione vengono attivati solo se il dispositivo è collegato all'alimentazione.

Nota  Se il dispositivo è scollegato, tutte le attività in background attualmente in esecuzione avviate dall'oggetto MaintenanceTrigger vengono annullate (cancelReason = Abort). Se l'attività in background non viene annullata entro 5 secondi dalla ricezione dell'evento di annullamento dell'attività in background, verrà terminata. Per altre informazioni, vedi Come gestire un'attività in background annullata.

 

Argomenti correlati

Guida introduttiva: Creare e registrare un'attività in background

Come registrare un'attività in background

Come rispondere agli eventi di sistema con le attività in background

Come impostare le condizioni per un'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