[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时间到了才开始运行。
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值