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
Utilizzare la libreria Benchmark.NET per misurare le performance
Evitare il flickering dei componenti nel prerender di Blazor 8
C# 12: Cosa c'è di nuovo e interessante
Copiare automaticamente le secret tra più repository di GitHub
Miglioramenti agli screen reader e al contrasto in Angular
Cambiare la chiave di partizionamento di Azure Cosmos DB
Aggiungere interattività lato server in Blazor 8
Eseguire attività con Azure Container Jobs
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Definire stili a livello di libreria in Angular
Utilizzare database e servizi con gli add-on di Container App
Disabilitare automaticamente un workflow di GitHub
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)