在AIR中偵測使用者是否閒置的方法

AIR API預設上就支援這個功能了。NativeApplication.nativeApplication.timeSinceLastUserInput值可以取得目前閒置的時間。

private function init():void{
   
   NativeApplication.nativeApplication.idleThreshold = 10; // 設定閒置通知的秒數
   NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE , onUserIdle ) ;
   NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT , onUserIdle ) ;
  }

  private function onUserIdle( event:Event ):void{
   if(event.type == Event.USER_IDLE){
    // 閒置
   }else if(event.type == Event.USER_IDLE){
    // 回復使用
   }
  }

可是似乎沒有提供方法可以立刻中斷或reset閒置時間,不管是重設idleThreshold或者removeListener都不行。
idleThreshold 是用來設定「閒置通知事件」的發出時間點,但不管有沒有註冊監聽的事件,timeSinceLastUserInput的值是永遠都啟動、並且持續計算的。

留言

這個網誌中的熱門文章

3dmax的biped如何使用CMU的免費motion capture資源

如何在AS3 project中使用Flex的mx.utils類別庫?

如何把3dmax的physique轉成skin