我想延迟发布直到时钟的分钟变化。
目前我正在使用

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

10-04 10:05