ユーザーの不在状況が分かるイベント
今回紹介するのは
USER_IDLEイベントとUSER_PRESENTイベントです。
前者はキーボードやマウスからの入力が一定時間ない時に、後者はUSER_IDLEイベントが発生した後にマウスやキーボードからの入力があると発生します。
コードはこんな感じです。
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()"> <mx:Script> <![CDATA[ private function init():void{ var app:NativeApplication = NativeApplication.nativeApplication; app.idleThreshold = 15; app.addEventListener(Event.USER_IDLE, idle); app.addEventListener(Event.USER_PRESENT, present); } private function idle(event:Event):void { trace("idle"); } private function present(event:Event):void { trace("present"); } ]]> </mx:Script> </mx:WindowedApplication>
idleThresholdで設定した時間の間入力が無いとUSER_IDLEイベント発生します。単位は秒。
この場合だと15秒間入力が無いとUSER_IDLEイベントが発生し設定したidleメソッドが呼ばれるわけですね。
その後に入力をするとUSER_PRESENTイベントが発生しpresentメソッドが呼ばれます。
これはデスクトップマスコットにも使ってみよう。
参考記事
第16回 OSとの連携:Adobe AIRで作るデスクトップアプリケーション|gihyo.jp … 技術評論社