Как ждать периоды 30 секунд, чтобы запустить службу - PullRequest
2 голосов
/ 13 сентября 2010

У меня есть служба, и я хочу, чтобы после запуска она выполняла свою работу каждые 30 секунд.Как я могу это сделать?

Тнк Валерио

Ответы [ 2 ]

6 голосов
/ 13 сентября 2010

Пример использования обработчика для вашей службы (отсутствует привязанная часть службы):

import android.app.Service;
import android.os.Handler;

public class PeriodicService extends Service {

private Handler mPeriodicEventHandler;

    private final int PERIODIC_EVENT_TIMEOUT = 30000;

    @Override
    public void onCreate() {
      super.onCreate();

      mPeriodicEventHandler = new Handler();
      mPeriodicEventHandler.postDelayed(doPeriodicTask, PERIODIC_EVENT_TIMEOUT);
    }

    private Runnable doPeriodicTask = new Runnable()
    {
        public void run() 
        {
            //your action here
            mPeriodicEventHandler.postDelayed(doPeriodicTask, PERIODIC_EVENT_TIMEOUT);
        }
    };

    @Override
    public void onDestroy() {

        mPeriodicEventHandler.removeCallbacks(doPeriodicTask);      
        super.onDestroy();
    }
}
1 голос
/ 13 сентября 2010

Вы можете использовать Таймер .

Я также нашел пример другого класса под названием Handler (который доступен для Android), который, очевидно, должен работать лучше при использовании пользовательского интерфейса.

...