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
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Elencare le container images installate in un cluster di Kubernetes
Definire stili a livello di libreria in Angular
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Limitare le richieste lato server con l'interactive routing di Blazor 8
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Miglioramenti nelle performance di Angular 16
Utilizzare la session affinity con Azure Container Apps