[Android] Android中Timer的用法

 

package com.pset.navi.telemaservice;

import java.util.Timer;
import java.util.TimerTask;

import com.pset.navi.telemaservice.param.ITelemaReqParam;
import com.pset.navi.telemaservice.param.TelemaLoginReqParam;

import android.os.Handler;
import android.os.Message;
import android.util.Log;

public class TelemaLoginTimer {

 private static final int STARTTIMER = 1;
 private static Timer loginTimer = new Timer();
 private static Handler handler = new Handler() 
    { 
        @Override 
        public void handleMessage(Message msg) 
        { 
            // TODO Auto-generated method stub 
            super.handleMessage(msg); 
            int msgId = msg.what; 
     
            switch (msgId) 
            { 
            case STARTTIMER: 
            {
             //timer
             Log.v("Timer", "start timer");
             ITelemaReqParam param = new TelemaLoginReqParam();
             TelemaLoginService.getInstance().setRequestParameter(param);
             TelemaLoginService.getInstance().requestTelemaService();
             loginTimer.cancel();
             Log.v("Timer", "stop timer");
                break;
            }
             
            default: 
                break; 
 
            } 
        } 
    };
   
 public static void startTimer(long time)
 {
  loginTimer.schedule(new TimerTask() 
        { 
            @Override 
            public void run() 
            { 
                Message message = new Message(); 
                message.what = STARTTIMER; 
                handler.sendMessage(message); 
            }
        }, time, time);  //注意delay时间也是time时程序启动时不会立刻执行timer,而是会等到time时间到了才开始运行。
 }
}

你可能感兴趣的:(timer,android,Class,delay)