« 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
[cc lang= »csharp » escaped= »true » width= »600″ nowrap= »0″ line_numbers= »0″ theme= »vsdark »]
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();
}
[/cc]
Facile non?
