// I am capturing only mouseMove and keyDown. That _should_ be enough to handle most user interactions.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" mouseMove="onUserEvent" keyDown="onUserEvent">
...
private function onUserEvent(event:Event):void
{
timer.reset();
}
5条答案
按热度按时间thtygnil1#
另请参阅
SystemManager
中的idle
事件。此方法适用于AIR或Flash Player。您可以使用以下命令获取空闲时间(以不受支持的方式)
e4yzc0pl2#
因为这是一个AIR应用程序,所以我只能监听NativeApplication上的USER_IDLE事件
wlzqhblo3#
创建一个计时器,每次在应用程序级别捕获用户事件时重置该计时器。
如果计时器已经结束,那么您就知道用户已经空闲了设定的时间量。
piztneat4#
您可以使用以下代码获取超时时间:
xeufq47z5#
@迈克尔·布鲁尔-戴维斯
systemManager.addEventListener(FlexEvent.IDLE, onIdle)
适用于鼠标事件。那么键盘事件呢?在
systemManager
侦听键盘事件之前,您必须将注意力集中在某些元素上。部分解决方案:在
applicationComplete
事件上,我增加了下面这行现在,键盘事件正在被监听。
**缺点:**应用程序至少点击一次后才起作用。那之后工作就好了
有没有办法让应用程序监听键盘事件,而不需要点击一次。一些人建议增加
stage.focus = this
。也不起作用。(仍然需要点击)