android用于定时任务工具类
16lz
2022-01-23
//用于定时任务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; }}
更多相关文章
- Android实现CoverFlow效果二
- Android手机开发:获取GPS信息
- android wpa_supplicant 流程分析
- Android(安卓)Hook学习之ptrace函数的使用
- Android(安卓)cts测试命令
- android之检查service运行状态函数
- Android绘制波浪曲线,效果很赞的。
- 触摸按键Android的驱动解析
- 箭头函数的基础使用