如何为特定的小时和分钟制作一个Timer.schedule()



我尝试让schedule()方法等待到特定的小时和分钟开始执行任务,但是没有成功因为schedule()方法不需要几个小时和几分钟作为一个参数,这个方法的替代是什么?我要做几个小时的计划然后当整点到来的时候,检查一下会议记录?如果两者都正确它会开始执行吗?

p。年代为了让事情更容易理解,如何做得更像这个:

计划(新TimerClass (), 所需的小时, 需要分钟) ?

如果您想安排一个特定的时钟时间(而不是从当前时间延迟),这里有一些选项:

  • 使用Quartz,如果你这样做足以证明额外的库。Quartz可以很容易地指定时钟时间,并支持调度循环事件。
  • 否则,在调度时,计算当前时间和期望时间之间的差值。(使用Calendar类创建时钟时间,转换为日期,并使用getMillis()。)

您不需要这样的硬编码。测试一小时,然后几分钟。就像下面这样安排任务。下面给出的任务将在一小时后执行,每30000ms重复一次。如果你只需要执行一次,那么在第一次执行后取消时间,比如使用t.cancel(),并将小时+分钟转换为毫秒,以放置计划时间

 TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();

scanTask = new TimerTask() {
        public void run() {
                handler.post(new Runnable() {
                        public void run() {
                         //do your task here    
                    }
               });
        }};
t.schedule(scanTask, 1*60*60*1000, 30000); 

相关内容

最新更新