2011-09-16 42 views
0

我有一個android活動,其中有一個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); 
}