Freigeben über


App-Fortsetzung verwalten

Wichtige APIs

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

Registrieren Sie den Wiederaufnahme-Ereignishandler

Registrieren Sie sich, um das Resuming-Ereignis zu behandeln, was angibt, dass der Benutzer von Ihrer App weggeschaltet und dann zurück zu ihr 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

Nachdem der Benutzer zu einer anderen App oder zum Desktop gewechselt hat, wird Ihre App vom System nach ein paar Sekunden angehalten. 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 aufgehört hat. 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 freigegeben haben, als Ihre App angehalten wurde, z. B. Dateihandler, 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.

Bemerkungen

Wenn Ihre App an den Visual Studio-Debugger angehängt 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 angezeigt ist, und klicken Sie auf die Dropdownliste neben dem Symbol Anhalten. Wählen Sie dann Fortsetzenaus.

Bei Windows Phone Store-Apps folgt auf das Resuming-Ereignis immer OnLaunched, auch wenn Ihre App derzeit angehalten ist und der Benutzer die App über eine primäre Kachel oder die 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 danach entscheiden, ob Sie ein neues oder ein fortgesetztes App-Erlebnis präsentieren sollten.