Функция тайм-аута приложения - PullRequest
0 голосов
/ 09 июля 2011

Я занимаюсь разработкой приложения AIR 2.0 и хотел бы добавить в него функцию тайм-аута неактивности.(т.е.: если пользователь не нажимает клавишу в течение 5 минут, приложение выводит пользователя из системы. Я реализовал встроенные функции тайм-аута, доступные в библиотеке flash.utils, и прослушиваю события мыши или клавиатуры, чтобы очистить / сбросить настройкитайм-аут в моем основном MXML. Единственная проблема состоит в том, что мое приложение использует TitleWindows, и события клавиатуры, по-видимому, не всплывают (или возвращаются) в основной Mxml, где я их слушаю. Поэтому мое приложение считает, что существует неактивностьдаже когда в окнах заголовков запускаются события клавиш и мыши.

Есть ли способ, которым я по своей природе могу прослушивать события клавиатуры и мыши в глобальном масштабе? Перспектива добавления слушателей в каждое окно TitleWindow (и проверка, если онооткрыт или нет) кажется довольно устрашающим.

Большое спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 09 июля 2011

Я думаю, что вы столкнулись с проблемой фокуса, которая всегда расстраивает, посмотрите мой ответ здесь -

Прослушиватель событий, когда клавиатура не прослушивает модуль

Попробуйте текстовое предложение внизу ответа, чтобы проверить, является ли это проблемой.

0 голосов
/ 09 июля 2011

Из любой точки UIComponent (вероятно, основного класса UI):

private function onCreationComplete():void
{
   stage.addEventListener(KeyboardEvent.DOWN, onKeyboard);
}

private function onKeyboard(e:KeyboardEvent):void
{
   // do something
}
...