ユーザーの不在状況が分かるイベント

今回紹介するのは
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 … 技術評論社