我试图让schedule()
方法等到特定的小时和分钟
来开始执行任务,但它没有工作
因为方法schedule()
不需要花费数小时和数分钟
作为一个论点,这种方法的替换是什么?我想我的时间安排好几个小时
然后当小时到来时程序检查分钟?如果两者都是正确的话
它会开始执行还是什么?
P.S 为了使事情更容易理解,如何使事情更容易理解 :
日程安排(新的TimerClass(), 所需的时间 , 所需的时间 )?
答案 0 :(得分:0)
你不需要这样的硬编码。测试时间,然后是分钟。只需安排下面的任务。 下面给出的任务将在一小时后执行,并将在每30000ms重复一次。如果您只需要执行一次,则在第一次执行后取消时间,如使用t.cancel(),并将Hour + minute转换为ms以放置预定时间
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);
答案 1 :(得分:0)
如果您想安排特定的时钟时间(而不是从当前时间延迟),可以选择以下选项: