Windows 10 introduce un meccanismo che consente ad un'applicazione di continuare la sua attività in background.
Un0applicazione va in background quando un utente inizia ad utilizzare un'altra app, ma vuole che quella che stava utilizzando in precedenza continui il suo lavoro, come ad esempio, per salvare i dati sul un server o tracciare la posizione tramite l'utilizzo del GPS.
Il codice per permettere all'applicazione di girare in background è abbastanza semplice:
private async void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); using (var session = new ExtendedExecutionSession()) { session.Reason = ExtendedExecutionReason.LocationTracking (); session.Description = "Sto tracciando la posizione"; session.Revoked += ExtensionRevoked; var result = await session.RequestExtensionAsync(); if(result == ExtensionExecutionResult.Allowed) { //tracciare la posizione } } deferral.Complete(); }
Quando la nostra applicazione è in background e sta per essere sospesa, può iniziare una nuova sessione creando l'oggetto ExtendedExecutionSession e specificandone la ragione, mediante un enumeratore.
Infine, viene eseguita la richiesta di esecuzione in background, mediante il metodo RequestExtensionAsync.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Criptare la comunicazione con mTLS in Azure Container Apps
Eseguire attività basate su eventi con Azure Container Jobs
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare database e servizi con gli add-on di Container App
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Implementare il throttling in ASP.NET Core
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Eseguire operazioni con timeout in React
Limitare le richieste lato server con l'interactive routing di Blazor 8
Sfruttare MQTT in cloud e in edge con Azure Event Grid