简单的定时器,怎么讲时间间隔?

Simple timer, how to speak time intervals?

我有一个程序,其中有一个二十秒计时器 运行 在后台(使用服务)我想让应用程序记录剩余时间。例如,在五秒钟内,记录 "five seconds left!" onTick 方法在这方面可能非常有用,除了问题是它定期进行;所以我可能无法根据剩余时间调出特定消息。这是我的计时器:

非常感谢您的回复,因为很长一段时间以来,我一直在集思广益地想办法做到这一点。如果您需要更多信息,请随时询问!

{Rich}

在 onTick 方法中你可以做类似的事情

int timeRemaining = 20000 - millisUntilFinished;
if(timeRemaining % 1000 == 0){
    Log.d("Time remaining", (timeRemaining % 1000) + " seconds left");
}

因为你已经有一个 1000 作为你的间隔,这可能有助于跳过这里的 if 块。

如果您担心将毫秒四舍五入到最接近的 1000,那么这可能会有所帮助 MathUtils.round((double) timeRemaining, -3); 这里的第二个参数有助于 select 四舍五入的精度,-1 表示十位,-2 表示百位,-3 表示千位等等。

祝一切顺利:)