2011-11-10 13 views
4

私はアクティビティを持っており、アクティビティの開始時に実行されるスレッドがあります。スレッドの呼び出しgetTimeOfLastEventと呼ばれる1つのメソッド画面の最後のタッチが起こったときの取得方法は?

public long getTimeOfLastEvent(){ 
return 0; 
} 

私はこの方法では、最後のイベントは、この瞬間(メソッドが呼ばれた瞬間)に起こった時からたとえばミリ秒のために私を返したいです。 「イベント」という言葉で私は画面上の任意のタッチを参照します。たとえば、ユーザーが画面に触れてから4秒間電話を離れるとgetTimeOfLastEventが呼び出された場合、このメソッドで4秒(おそらく単位ミリ秒単位)を返します。

電話を離れると10秒後に画面が消えますが、10秒経過する直前に画面に触れると、タイマーがリセットされ、さらに10秒間...、私の問題はこのタイマーの読み取り方法がわからないことです。

+0

は)OnTouchリスナーを使用し、 '(System.currentTimeを返します;' –

答えて

0
static long timeLastEvent ;//initialize with appropriate value 


public long getTimeOfLastEvent() 
{ 
long duratin = System.currentTimeMillis() - timeLastEvent ; 
timeLastEvent = System.currentTimeMillis(); 
return duration ; 
} 
+1

ユーザーがホームボタンがいくつかのことを行うと、私の活動に戻る押すかもしれない、私はちょうど私の活動のために制御する必要はありません..私はシステムから値が必要です。値は画面がオフになる場合に決定されます – Lukap

+0

この方法は私のために働きます...しかし、私はそれをどこで呼び出すべきかわかりません。私は60秒ごとにviewflipperを起動する必要があります。 – Gabrielle

+0

これは、最後のタッチがまったく起こったときの問題には対処しません。 –

関連する問題