Extended execution nella Universal Windows Platform

di Marco Leoncini, in Windows 10,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi