Событие приостановки, не использующее WinRT

У меня возникла проблема с приостановкой события на Windows Phone 8.1 с использованием WinRT, он не срабатывает. Я не знаю почему. Это мой код:

///  /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). ///  public App() { InitializeComponent(); Suspending += OnSuspending; #if DEBUG this.displayRequest = new DisplayRequest(); #endif } ///  /// Invoked when application execution is being suspended. Application state is saved /// without knowing whether the application will be terminated or resumed with the contents /// of memory still intact. ///  ///  /// The source of the suspend request. ///  ///  /// Details about the suspend request. ///  private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); } 

Я установил var deferral = e.SuspendingOperation.GetDeferral(); останова на строке var deferral = e.SuspendingOperation.GetDeferral(); и отлаживал его с помощью Visual Studio. Затем я нажал кнопку запуска на своем телефоне и запустил другое приложение и подождал около 10 секунд. OnSuspending не работает.

Есть идеи?

Событие приостановки не будет срабатывать при отладке (но при нормальной работе приложения оно будет срабатывать сразу после перехода от приложения), как сказано в этом блоге :

… вы будете ждать навсегда, чтобы они запускались, даже если ваше приложение переключается назад и вперед на экран! Причина проста: пока приложение отлаживается, Windows не приостанавливает его.

Обратите внимание, что это может привести к некоторому странному поведению приложения, когда что-то не так в событии Suspending – например, если вы передаете некоторый сложный class в методе Frame.Navigate, и вы используете SuspensionManager . В то время как отладка вашего приложения будет работать нормально (без приостановки), но будет аварийно отключена.

Чтобы проверить, как работает ваше приложение, вам нужно будет вызвать панель Suspending manuallt, открыть (или установить видимую) панель « Отладка» в Visual Studio, там вы увидите выпадающие события Lifecyce, выберите « Suspend» , а затем верните приложение « Возобновить» ,

введите описание изображения здесь

  • Получить разрешение экрана в приложении Win10 UWP
  • Индикатор выполнения с HttpClient
  • WinRT и региональные настройки. Правильный способ форматирования дат и чисел на основе региональных настроек пользователя?
  • Как resize изображения в C # WinRT / winmd?
  • Данная System.Uri не может быть преобразована в Windows.Foundation.Uri
  • Обновить пользовательский интерфейс из streamа в WinRT
  • Добавление жестов салфетки для открытия панели SplitView
  • GridView с двумя столбцами, шириной заливки
  • Interesting Posts

    Нет отображения после CMOS и сброса BIOS

    Размер файла для файла ftp-сервера vs фактический размер файла

    Как идентифицировать ключевое слово emacs для чего-то в графическом интерфейсе?

    Изменение размера раздела в GParted (или, как я могу пройти 5 других разделов до расширения / dev / sda6)?

    Powershell перегружает Perl binmode?

    Angular2 Anchronronous bootstrapping с внешним конфигурационным файлом json

    Почему числа с плавающей точкой неточны?

    Сохранять общий запрос в виде столбца?

    Диалог пользователя администратора Vista скрыт

    Обнаружение подключения к Интернету отключено?

    Как подписать APK с несколькими сертификатами?

    Печатает! заимствовать или владеть переменной?

    Каково фактическое использование Class.forName (“oracle.jdbc.driver.OracleDriver”) при подключении к базе данных?

    ipad веб-приложение: как я могу предотвратить появление клавиатуры на jquery datepicker

    Используйте настраиваемую панель контекстных действий для выбора текста WebView

    Давайте будем гением компьютера.