我想延迟发布直到时钟的分钟变化。
目前我正在使用
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