Freigeben über


Behandeln der App-Fortsetzung

Wichtige APIs

Erfahren Sie, wo Sie Die Benutzeroberfläche aktualisieren, wenn das System Ihre App fortsetzt. Im Beispiel in diesem Thema wird ein Ereignishandler für das Resuming-Ereignis registriert.

Registrieren des fortsetzenden Ereignishandlers

Registrieren Sie sich, um das Resuming-Ereignis zu behandeln, das angibt, dass der Benutzer von Ihrer App weggeschaltet und dann wieder dorthin gewechselt hat.

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

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

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

Aktualisieren der angezeigten Inhalte und erneutes Abrufen von Ressourcen

Das System hält Ihre App ein paar Sekunden an, nachdem der Benutzer zu einer anderen App oder zum Desktop gewechselt hat. Das System setzt Ihre App fort, wenn der Benutzer wieder dorthin wechselt. Wenn das System Ihre App fortsetzt, sind die Inhalte Ihrer Variablen und Datenstrukturen identisch mit dem, bevor das System die App angehalten hat. Das System stellt die App wieder her, wo sie unterbrochen wurde. Dem Benutzer erscheint es so, als ob die App im Hintergrund ausgeführt wurde.

Wenn Ihre App das Resuming-Ereignis behandelt, wurde Ihre App möglicherweise stunden- oder tagelang angehalten. Es sollte alle Inhalte aktualisieren, die möglicherweise veraltet sind, während die App angehalten wurde, z. B. Newsfeeds oder den Speicherort des Benutzers.

Dies ist auch ein guter Zeitpunkt, um alle exklusiven Ressourcen wiederherzustellen, die Sie beim Anhalten ihrer App freigegeben haben, z. B. Dateihandles, Kameras, E/A-Geräte, externe Geräte und Netzwerkressourcen.

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.
    }
}
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
void MainPage::App_Resuming(
    Windows::Foundation::IInspectable const& /* sender */,
    Windows::Foundation::IInspectable const& /* e */)
{
    // TODO: Refresh network data, perform UI updates, and reacquire resources like cameras, I/O devices, etc.
}
void MainPage::App_Resuming(Object^ sender, Object^ e)
{
    // TODO: Refresh network data, perform UI updates, and reacquire resources like cameras, I/O devices, etc.
}

Hinweis

Da das Resuming-Ereignis nicht aus dem UI-Thread ausgelöst wird, muss ein Dispatcher in Ihrem Handler verwendet werden, um Aufrufe an die Benutzeroberfläche zu verteilen.

Hinweise

Wenn Ihre App an den Visual Studio-Debugger angefügt ist, wird sie nicht angehalten. Sie können ihn jedoch vom Debugger anhalten und dann ein Resume-Ereignis senden, damit Sie den Code debuggen können. Stellen Sie sicher, dass die Symbolleiste "Debugspeicherort" sichtbar ist, und klicken Sie auf die Dropdownliste neben dem Symbol "Anhalten" . Wählen Sie dann "Fortsetzen" aus.

Für Windows Phone Store-Apps folgt das Resuming-Ereignis immer auf "OnLaunched", auch wenn Ihre App derzeit angehalten ist und der Benutzer die App über eine primäre Kachel oder App-Liste erneut startet. Apps können die Initialisierung überspringen, wenn bereits Inhalte im aktuellen Fenster festgelegt sind. Sie können die LaunchActivatedEventArgs.TileId-Eigenschaft überprüfen, um zu ermitteln, ob die App von einer primären oder einer sekundären Kachel gestartet wurde und basierend auf diesen Informationen entscheiden, ob Sie eine neue oder fortgesetzte App-Oberfläche präsentieren sollten.