android 计时器工具类,Android中通用定时器--好用的工具

package com.utility.common;

import android.os.Handler;

import android.os.Message;

public class BaseTimer {

private TimerCallBacktimerCallBack = null;

private boolean timerRun = false;

private boolean bInterval = false;

private long curMsecond = 0;

/**

* 回调接口定义

*/

public interface TimerCallBack

{

public void callback();

}

private Handler timerHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

if(timerCallBack!=null)

{

timerCallBack.callback();

}

timerRun = false;

if(bInterval)

{

startTimer(curMsecond,timerCallBack);

bInterval = true;

}

super.handleMessage(msg);

}

};

private Runnable keyRunnable = new Runnable(){

@Override

public void run() {

timerHandler.sendEmptyMessage(0);

}

};

/**

* 关闭定时器

*/

public void killTimer()

{

bInterval = false;

timerRun = false;

try {

timerHandler.removeCallbacks(keyRunnable);

} catch (Exception e) {

}

}

/**

* 启动延时器

* @param msecond 毫秒

* @param cb回调函数

*/

public void startTimer(int msecond,TimerCallBack cb)

{

killTimer();

curMsecond = msecond;

timerRun = true;

timerCallBack = cb;

timerHandler.postDelayed(keyRunnable, curMsecond);

}

/**

* 启动延时器

* @param msecond 毫秒

* @param cb回调函数

*/

public void startTimer(long msecond,TimerCallBack cb)

{

killTimer();

timerRun = true;

timerCallBack = cb;

timerHandler.postDelayed(keyRunnable, msecond);

}

/**

* 启动定时器

* @param msecond 毫秒

* @param cb回调函数

*/

public void startInterval(int msecond,TimerCallBack cb)

{

startTimer(msecond,cb);

bInterval = true;

}

/**

* 获取定时器是否运行

*/

public boolean isRunning()

{

return timerRun;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值