我的应用程序中有一个计时器关闭了使用处理程序实现的应用程序,我发布了一个延迟的runnable“quit”。当用户单击计时器图标时,它还应显示剩余时间。我怎么能得到这些数据? 我应该实现一个可以计算秒数并使用该数据的对象吗?
答案 0 :(得分:4)
我更喜欢将ScheduledExecutorService与ScheduledFuture一起使用,这些API比Handler和Timer IMO更高效,更强大:
ScheduledExecutorService scheduledTaskExecutor = Executors.newScheduledThreadPool(1);
Runnable quitTask = new Runnable();
// schedule quit task in 2 minutes:
ScheduledFuture scheduleFuture = scheduledTaskExecutor.schedule(quitTask, 2, TimeUnit.MINUTES);
... ...
// At some point in the future, if you want to get how much time left:
long timeLeft = scheduleFuture.getDelay(TimeUnit.MINUTES);
... ...
希望有所帮助。