在我的flex应用程序中,我正在使用事件侦听器在空闲状态下进行会话。 它不适合我。
这是我的代码:
我已将下面的代码放在方法
中this.systemManager.addEventListener(FlexEvent.IDLE,onUserIDLE);
和调用函数onUserIDLE
private function onUserIDLE(e:FlexEvent):void
{
if(e.currentTarget.mx_internal::idleCounter == 60000)
{
this.systemManager.removeEventListener(FlexEvent.IDLE,onUserIDLE);
Alert.show("Session time Out");
menuRO.logoutUser();
signOutBtn_clickHandler();
}
}
上述代码不适用于我的应用程序,它不会输入if(e.currentTarget.mx_internal::idleCounter == 60000)
语句。
请给我建议。
提前致谢!
答案 0 :(得分:2)
根据this帖子,似乎idleCounter已经改变了(这可能总是发生在mx_internal组件上),所以我猜你必须自己动手。
答案 1 :(得分:0)
由于Flex SDK是开源的,您可以随时深入了解SystemManager(以及WindowedSystemManager)类源,看看空闲逻辑是否仍然存在(我检查了SDK v.4.6.0)并且它工作正常。 根据你的条件声明,你真的等待100分钟,看它是否进入IF块?无论如何,您始终可以使用跟踪来跟踪idleCounter值。 但是,如果您确定在您的代码中,那么了解哪个版本的Flex SDK以及您正在使用的FlashPlayer版本会很有帮助。