安卓系统:通过处理程序获取Runnable执行之前的时间



我的应用程序中有一个计时器,它关闭了用一个处理程序实现的应用程序,我向该处理程序发布了一个延迟的可运行的"退出"。当用户单击计时器图标时,它还应该显示剩余的时间。我如何获取这些数据?我应该实现一个计算秒数并使用这些数据的对象吗?

我更喜欢将ScheduledExecutitorService与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);
... ...

希望能有所帮助。

最新更新