HisTech Up

UWP: Gérer la reprise d’une application

Introduction

user

Christian Hissibini

I am a Tech enthusiast who loves to blend Dev & Design on Web and Mobile Platforms. I am also a Windows Platform Dev MVP


LATEST POSTS

What are the differences between Data Mining, Machine Learning and Deep Learning? 11th February, 2018

What are the challenges of using Artificial Intelligence? 15th January, 2018

Mobile Development

UWP: Gérer la reprise d’une application

Posted on .

Découvrez à quel endroit vous devez actualiser votre interface utilisateur lorsque le système reprend l’exécution de votre application. L’exemple présenté dans cette rubrique enregistre un gestionnaire d’événements pour l’événement Resuming.

Enregistrer le gestionnaire d’événement de reprise

Enregistrez-vous pour gérer l’événement Resuming, qui indique que l’utilisateur revient vers votre application après s’en être éloigné.

C#
partial class MainPage
{
   public MainPage()
   {
      InitializeComponent();
      Application.Current.Resuming += new EventHandler<Object>(App_Resuming);
   }
}
VB
Public NonInheritable Class MainPage

   Public Sub New()
      InitializeComponent()
      AddHandler Application.Current.Resuming, AddressOf App_Resuming
   End Sub

End Class
C++
MainPage::MainPage()
{
    InitializeComponent();
    Application::Current->Resuming +=
        ref new EventHandler<Platform::Object^>(this, &MainPage::App_Resuming);
}

Actualiser le contenu affiché et récupérer les ressources

Le système suspend votre application quelques secondes après que l’utilisateur bascule vers une autre application ou vers le Bureau. Le système en reprend l’exécution lorsque l’utilisateur revient à votre application. Dès lors, le contenu de vos variables et structures de données restent identiques à ce qu’elles étaient avant que le système ne suspende l’application. Le système restaure l’application là où elle s’était arrêtée. Pour l’utilisateur, c’est comme si l’application était exécutée en arrière-plan.

Lorsque votre application gère l’événement Resuming, votre application peut être suspendue pendant plusieurs heures ou jours. Elle doit alors actualiser le contenu ayant pu devenir obsolète pendant l’interruption de l’application, tel que les flux d’actualités ou l’emplacement de l’utilisateur.

C’est également le moment idéal pour restaurer toutes les ressources exclusives libérées lors de la suspension de votre application, telles que les descripteurs de fichiers, les appareils photo, les périphériques d’E/S, les périphériques externes et les ressources réseau.

C#
partial class MainPage
{
    private void App_Resuming(Object sender, Object e)
    {
        // TODO: Refresh network data, perform UI updates, and reacquire resources like cameras, I/O devices, etc.
    }
}
VB
Public NonInheritable Class MainPage

    Private Sub App_Resuming(sender As Object, e As Object)

        ' TODO: Refresh network data, perform UI updates, and reacquire resources like cameras, I/O devices, etc.

    End Sub

End Class
C++
void MainPage::App_Resuming(Object^ sender, Object^ e)
{
    // TODO: Refresh network data, perform UI updates, and reacquire resources like cameras, I/O devices, etc.
}

Remarque Dans la mesure où l’événement Resuming n’est pas déclenché à partir du thread d’interface utilisateur, il convient d’utiliser un répartiteur dans votre gestionnaire pour transférer les appels vers votre interface utilisateur.

Remarques

Une application jointe au débogueur Visual Studio ne sera pas suspendue. Toutefois, vous pouvez la suspendre à partir du débogueur et lui envoyer un événement Resume afin de déboguer votre code. Assurez-vous que la barre d’outils Emplacement de débogage est visible et cliquez sur la liste déroulante à côté de l’icône Suspendre. Ensuite, sélectionnez Reprendre.

Dans les applications du Windows Phone Store, l’événement Resuming est toujours suivi de l’événement OnLaunched, même lorsque votre application est suspendue et que l’utilisateur relance votre application à partir d’une vignette principale ou d’une liste d’applications. Les applications peuvent ignorer l’initialisation si un contenu est déjà défini sur la fenêtre active. Vous pouvez vérifier la propriété LaunchActivatedEventArgs.TileId pour déterminer si l’application a été lancée à partir d’une vignette principale ou secondaire et, en fonction de l’information obtenue, décider si vous devez présenter une expérience de nouvelle exécution ou de reprise d’exécution de l’application.

 

 

Ref
https://docs.microsoft.com/

profile

Christian Hissibini

I am a Tech enthusiast who loves to blend Dev & Design on Web and Mobile Platforms. I am also a Windows Platform Dev MVP

There are no comments.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

View Comments (0) ...
Navigation