//用于定时任务public class BaseTimer {    private TimerCallBack timerCallBack = 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;    }}

 

更多相关文章

  1. Android实现CoverFlow效果二
  2. Android手机开发:获取GPS信息
  3. android wpa_supplicant 流程分析
  4. Android(安卓)Hook学习之ptrace函数的使用
  5. Android(安卓)cts测试命令
  6. android之检查service运行状态函数
  7. Android绘制波浪曲线,效果很赞的。
  8. 触摸按键Android的驱动解析
  9. 箭头函数的基础使用

随机推荐

  1. Android:单元测试Junit的配置
  2. Android开发者已经度过了初级、中级,如何
  3. [置顶] 修改Android开机画面之rle制作
  4. [置顶] Android(安卓)去掉两个textview的
  5. Android多点触摸的实现 (转)
  6. Android(安卓)7.0增加jack跟jill编译器(转
  7. Android使用xutils3框架实现应用程序内的
  8. Banana Pi M64 Android修改分辨率为480x1
  9. Android-RelativeLayout布局
  10. 将Android的Camera源码导入到eclipse中进