概述
项目需要,然后去看了资料直接看代码吧
// 重复执行任务
private final int EVENT_LOCK_WINDOW = 0x200;
private Handler mHandler;
private Timer mTimer;
private MyTimerTask mTimerTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 延时重复操作
mHandler = new Handler(Looper.getMainLooper()) {
public void handleMessage(Message message) {
if (message.what == 0x200) {
/**
* 要执行的方法
*/
}
}
};
mTimer = new Timer(true);
}
// 开始任务
public void startLockWindowTimer() {
if (mTimer != null) {
if (mTimerTask != null) {
mTimerTask.cancel(); // 将原任务从队列中移除
}
mTimerTask = new MyTimerTask(); // 新建一个任务
//调用这个Timer去定时执行某项任务,三个参数分别为,timerTask为这项任务具体内容,0是触发这个timer到执行
//TimerTask中run函数需要等待的时间(设置为0表示无延迟的五执行TimerTask中得run函数),2000代表第一次调用成功后每隔2秒再次调用
mTimer.schedule(mTimerTask , 2000);
}
}
class MyTimerTask extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
Message msg = mHandler.obtainMessage(EVENT_LOCK_WINDOW);
msg.sendToTarget();
}
}
PS:在需要执行的地方直接加 startLockWindowTimer(); 方法即可
最后
以上就是醉熏汽车为你收集整理的重复执行任务的全部内容,希望文章能够帮你解决重复执行任务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复