我是靠谱客的博主 醉熏汽车,最近开发中收集的这篇文章主要介绍重复执行任务,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


项目需要,然后去看了资料直接看代码吧   

    // 重复执行任务
    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(); 方法即可


最后

以上就是醉熏汽车为你收集整理的重复执行任务的全部内容,希望文章能够帮你解决重复执行任务所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(29)

评论列表共有 0 条评论

立即
投稿
返回
顶部