Обработка событий выхода из приложения в приложении AIR - PullRequest
3 голосов
/ 26 февраля 2009

У меня есть приложение AIR со следующим определенным обработчиком EXIT:

  NativeApplication.nativeApplication.addEventListener(Event.EXITING, applicationExitHandler); 

applicationExitHandler делает запрос на асинхронный выход из системы через HttpService. Поскольку это асинхронно, похоже, что метод exit () приложения возвращается до того, как будет выполнен запрос на выход.

Как я могу убедиться, что запрос завершен до выхода из exit ()?

1 Ответ

6 голосов
/ 26 февраля 2009

Переопределить поведение по умолчанию. Отмените это событие. Позвоните в службу поддержки. Добавьте обработчик запросов / обработчик ошибок в вашу службу. По завершении вызывается либо результат, либо обработчик ошибок. Это когда вы можете безопасно выйти из приложения (конечно, если выход из системы не удастся, вам может потребоваться дополнительная обработка). Из документов :

выход Отправляется при запуске последовательности выхода из приложения.

Событие выхода отправляется, когда операционная система инициирует выход из приложения; например, когда пользователь запускает последовательность клавиш Cmd-Q в Mac OS X, или когда свойство autoExit объекта NativeApplication имеет значение true и последнее окно приложения закрывается. Отмена этого события препятствует выходу приложения.

Примечание. Вызов метода exit () NativeApplication не приводит к отправке события exiting. Чтобы предупредить компоненты о предстоящем выходе, отправьте событие exiting перед вызовом exit (). Константа Event.EXITING определяет значение свойства type существующего объекта события.

...