Menangani resume aplikasi

API penting

Pelajari tempat untuk me-refresh UI saat sistem melanjutkan aplikasi Anda. Contoh dalam topik ini mendaftarkan penanganan aktivitas untuk peristiwa Melanjutkan .

Mendaftarkan penanganan aktivitas melanjutkan

Daftar untuk menangani peristiwa Melanjutkan , yang menunjukkan bahwa pengguna beralih dari aplikasi Anda lalu kembali ke kejadian tersebut.

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);
}

Segarkan konten yang ditampilkan dan sumber daya yang diperoleh kembali

Sistem menangguhkan aplikasi Anda beberapa detik setelah pengguna beralih ke aplikasi lain atau ke desktop. Sistem melanjutkan aplikasi Anda saat pengguna beralih kembali ke aplikasi tersebut. Saat sistem melanjutkan aplikasi Anda, konten variabel dan struktur data Anda sama seperti sebelum sistem menangguhkan aplikasi. Sistem memulihkan aplikasi yang ditinggalkannya. Bagi pengguna, aplikasi muncul seolah-olah aplikasi telah berjalan di latar belakang.

Saat aplikasi Anda menangani peristiwa Melanjutkan , aplikasi Anda mungkin telah ditangguhkan selama berjam-jam atau berhari-hari. Ini harus me-refresh konten apa pun yang mungkin telah kedaluarsa saat aplikasi ditangguhkan, seperti umpan berita atau lokasi pengguna.

Ini juga saat yang tepat untuk memulihkan sumber daya eksklusif apa pun yang Anda rilis saat aplikasi ditangguhkan seperti handel file, kamera, perangkat I/O, perangkat eksternal, dan sumber daya jaringan.

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.
}

Catatan

Karena peristiwa Melanjutkan tidak dinaikkan dari utas UI, dispatcher harus digunakan di handler Anda untuk mengirimkan panggilan apa pun ke UI Anda.

Keterangan

Saat aplikasi Anda dilampirkan ke debugger Visual Studio, aplikasi tidak akan ditangguhkan. Namun, Anda dapat menangguhkannya dari debugger, lalu mengirimkannya peristiwa Resume sehingga Anda dapat men-debug kode Anda. Pastikan toolbar Lokasi Debug terlihat dan klik menu drop-down di samping ikon Tangguhkan . Lalu pilih Lanjutkan.

Untuk aplikasi Windows Phone Store, peristiwa Melanjutkan selalu diikuti oleh OnLaunched, bahkan ketika aplikasi Anda saat ini ditangguhkan dan pengguna meluncurkan kembali aplikasi Anda dari petak peta utama atau daftar aplikasi. Aplikasi dapat melewati inisialisasi jika sudah ada konten yang diatur pada jendela saat ini. Anda dapat memeriksa properti LaunchActivatedEventArgs.TileId untuk menentukan apakah aplikasi diluncurkan dari petak peta primer atau sekunder dan, berdasarkan informasi tersebut, memutuskan apakah Anda harus menyajikan pengalaman aplikasi yang baru atau dilanjutkan.