Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Основные API
Узнайте, где обновить пользовательский интерфейс, когда система возобновляет работу приложения. В примере в этом разделе регистрируется обработчик событий для события возобновления.
Регистрация обработчика события восстановления
Зарегистрируйтесь для обработки события возобновления , указывающего, что пользователь переключился с вашего приложения, а затем вернулся к нему.
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);
}
Обновление содержимого и повторное получение ресурсов
Система приостанавливает приложение через несколько секунд после переключения пользователя на другое приложение или на рабочий стол. Система возобновляет работу приложения, когда пользователь вернется к нему. Когда система возобновляет работу приложения, содержимое переменных и структур данных совпадает с тем, что они были до того, как система приостановила приложение. Система восстанавливает приложение на том месте, где она остановилась. Пользователю отображается, как если бы приложение выполнялось в фоновом режиме.
Когда ваше приложение обрабатывает событие возобновления , оно могло быть приостановлено в течение нескольких часов или дней. Он должен обновить любое содержимое, которое могло стать устаревшим во время приостановки приложения, например новостей или расположения пользователя.
Это также хорошее время для восстановления любых эксклюзивных ресурсов, выпущенных при приостановке приложения, таких как дескриптора файлов, камеры, устройства ввода-вывода, внешние устройства и сетевые ресурсы.
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.
}
Замечание
Поскольку событие возобновления не инициируется из потока пользовательского интерфейса, диспетчер необходим в обработчике для отправки вызовов в пользовательский интерфейс.
Замечания
Если приложение подключено к отладчику Visual Studio, оно не будет приостановлено. Однако его можно приостановить в отладчике, а затем отправить событие возобновления, чтобы можно было выполнить отладку кода. Убедитесь, что панель инструментов "Расположение отладки" отображается и щелкните выпадающий список рядом со значком "Приостановка". Затем выберите Возобновить.
Для приложений из Магазина Windows Phone событие восстановления всегда сопровождается вызовом OnLaunched, даже когда ваше приложение находится в состоянии приостановки, а пользователь снова запускает его из основной плитки или списка приложений. Приложения могут пропустить инициализацию, если в текущем окне уже задано содержимое. Вы можете проверить свойство LaunchActivatedEventArgs.TileId, чтобы определить, было ли приложение запущено с основной или дополнительной плитки, и на основе этой информации решить, следует ли предоставить новый опыт работы с приложением или возобновить его.