OnSuspending : Demander au système plus de temps pour sauver ses données - Blog of Christophe Peugnet
22 septembre 2021
feedback

OnSuspending : Demander au système plus de temps pour sauver ses données

home

« S’il vous plait m’sieur, j’peux avoir plus de temps pour mémoriser des données avant ? »

Dans l’App.Xaml.cs, vos pouvez « solliciter » le système pour qu’il vous attribue du rab pour finaliser une sauvegarde lorsque votre application passe à l’état de « Onsuspending » :
On lui demande via ExtendedExecutionSession. et ce qui est marrant c’est qu’on doit se justifier 🙂 avec ExtendedExecutionReason.

Entre le deferral qui permet d’indiquer au système que vous utilisez par exemple du code async et que vous avez besoin d’un peu de temps pour finaliser

private void OnSuspending(object sender, SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
   
    using (var session = new ExtendedExecutionSession{ Reason = ExtendedExecutionReason.SavingData})
    {
        session.Description = "Envoi des data";
       
        if (await session.RequestExtensionAsync () == ExtendedExecutionResult.Denied)
            //le système veut pas, j'ai que 3 secondes
            SauvegardeRapide();
        else
            //le système est ton pot, tu as 8 secondes
           SauvegardeComplete();
    }

    deferral.Complete();
}

Facile non?

faq

Laisser un commentaire

feedback
home
faq