如何等待30秒的时间来运行服务

时间:2010-09-13 08:44:01

标签: android service timer sleep

我,我有一项服务,我希望一旦它开始,它的表现就是工作 每30秒一次。我怎么能这样做?

TNK 瓦莱里奥

2 个答案:

答案 0 :(得分:6)

您的服务的处理程序使用示例(缺少服务的绑定部分):

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 :(得分:1)

您可以使用Timer

我还找到了另一个名为Handler的类(可用于Android)的示例,显然在使用UI时应该更好。