我想延迟发布,直到时钟的分钟更改。 目前,我现在用这个android handler .postdelay()每次每分钟更改一次?
handler.postDelayed(drawRunner, 60000);
但这种延迟立柱60秒钟的时间。 我想要做的是 延迟这个帖子,直到时钟上的分钟变化。
例如:可以说,时间在我的手机是4:15:29
比我不想耽误它,直到时间4:16:00
再接下来是4:17:00
等。
有无论如何做到这一点?
我想延迟发布,直到时钟的分钟更改。 目前,我现在用这个android handler .postdelay()每次每分钟更改一次?
handler.postDelayed(drawRunner, 60000);
但这种延迟立柱60秒钟的时间。 我想要做的是 延迟这个帖子,直到时钟上的分钟变化。
例如:可以说,时间在我的手机是4:15:29
比我不想耽误它,直到时间4:16:00
再接下来是4:17:00
等。
有无论如何做到这一点?
您可以通过访问当前时间:
long time = System.currentTimeMillis();
之后,你有,你就可以得到它的第二部分是:
int seconds = new Date(time).getSeconds();
然后你就可以。减去从60,和获得睡眠时间。
int sleepSecs = 60 - seconds;
然后设置睡眠时间handler.postDelayed()
handler.postDelayed(drawRunner, sleepSecs*1000);
你使用这个第一次后,您可以使用一个常量60000毫秒的睡眠时间。
请注意,getSeconds()可以返回60或61作为第二个值! Documentation
是的,你可以使用this定时器类以这种方式安排定期任务,你可以根据需要在任何时间段更改你的时钟时间。
完美地工作。谢谢 – Badal
你知道我该如何改变这个postDelayed时间再次,如假设我已经设置了4000ms秒,现在2000ms通过,现在我想设置新的间隔时间,应该是7000ms,我该怎么办?你知道吗 ? – Drim