[ WindowsPhone 8 ] Fast App Resume From Apps Menu

Восстановление приложения при запуске из списка приложений

В Windows Phone если свернуть приложение, а затем запустить через меню или TileIcon, то оно завершится, а затем стартует заново. В WP7 тут нечем помочь, в WP8 можно открыть WMAppManifest.xml и прописать вместо:

<DefaultTask Name="_default" NavigationPage="MainPage.xaml">

следующее:

<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume" />

т.е. добавить ActivationPolicy

На этом можно и закончить, в простом случае, но если почитать мануалы, то можно осознать, что на этом наши беды не заканчиваются т.к., к примеру, если перейти на другую страницу, свернуть, а затем развернуть, то ОС не восстановит последнюю страницу, а проинициализирует её заново, чтобы этого избежать, открываем App.xaml.cs и добавляем по вкусу:

bool reset=false;

void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
    if (reset && e.IsCancelable) // && e.Uri.OriginalString == "/MainPage.xaml"
    {
        e.Cancel = true;
        reset = false;
    }
}

void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
    reset = e.NavigationMode == NavigationMode.Reset;
}

 

MSDN

Example App

Other Examle APP

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *