在Adobe AIR中,有一些有用的事件,例如USER_IDLE和USER_PRESENT,以判断系统是正在使用还是在预设时间后处于空闲状态,但它们仅适用于桌面应用程序(Win/OSX(,不适用于移动应用程序(iOS/Android(。
那么有什么替代方案呢?希望不涉及在我的应用程序中的每个触摸事件上手动重置计时器。
谢谢!
为什么不手动重置计时器?USER_IDLE和USER_PRESENT的工作非常相似。是的,速度更快,但您的手动计时器不会影响性能,以至于成为瓶颈。
制作起来也很简单:
1( 创建一个接收 Stage 实例作为参数的库。向舞台实例添加一些侦听器:TOUCH_END、TOUCH_BEGIN和您需要的其他触摸。如果要添加适用于 Android 操作系统的菜单按钮侦听器。
2(制作一个延迟较长的计时器(100ms应该可以(。创建一个变量 - 上次输入的时间戳。一个带有时间的变量,用于定义用户处于空闲状态(假设超过 2000 毫秒(。并在输入时重置计时器。在计时器的滴答声中,检查自上次输入以来的时间并写入用户活动的统计信息。