Android EditText计算暂停

时间:2011-09-16 18:12:16

标签: android android-edittext

我有一个Android活动,其中有一个EditText,当用户输入时,它会在键入的每个键上调用该服务。我认为这不是有效的,因为不仅仅是要求的电话。因此,解决方案是在那里进行某种暂停检查。

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

如何感知暂停然后只调用服务?

2 个答案:

答案 0 :(得分:1)

每次进行击键时,启动一个延迟3秒钟的处理程序。当你得到一个密钥存储区时,取消已经在队列中的runnable并启动一个像我上面提到的新的runnable。

答案 1 :(得分: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);
}