2011-09-16 9 views
0

私はEditTextがあり、ユーザーが入力すると、タイプされたすべてのキーでサービスを呼び出します。私は、必要以上の呼び出しが行われているので、これは効率的ではないと信じています。だから解決策は何らかのポーズをチェックすることです。Android EditText一時停止を計算する

if (PauseOfThreeSeconds) { 
    // call the service here 
} 

私は一時停止を感知してサービスを呼び出すことができますか?

答えて

1

が遅れるポストとのハンドラを起動しますキーストロークが行われるたびに3秒。これまでにキーストアを手に入れたら、すでにキューに入っている実行可能ファイルをキャンセルし、上記のような新しい実行可能ファイルを開始します。

0

あなたは各ボタンの押しでサービスを開始するためのアラームをスケジュールする必要がありますが、また、彼らは同様に消灯しないように、以前にスケジュールアラームをキャンセルする:

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 

long alarmWaitTime = 3000; 

onButtonClicked(View v){ 

    Intent i = new Intent(AndroidAlarmService.this, MyAlarmService.class); 
    PendingIntent pi = PendingIntent.getService(AndroidAlarmService.this, 0, i, 0); 

    // Cancel any previously set alarms 
    alarmManager.cancel(pi); 

    // set a new alarm 
    alarmManager.set(AlarmManager.RTC, System.getTimeInMillis() + alarmWaitTime , pi); 
} 
関連する問題