鸿蒙OS开发文档 鸿蒙OS IntervalTimer

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 3

IntervalTimer

java.lang.Object
|---ohos.utils.IntervalTimer

public abstract class IntervalTimer
extends Object

为任务执行提供一个计时器,该计时器持续一段时间并定期重复。

示例代码:

new IntervalTimer(60000, 3000) {
@Override
public void onInterval(long remain) {
// This method will be called at the 3000th millisecond and repeatedly called every 3000 milliseconds.
}
@Override
public void onFinish() {
// This method will be called at the 60000th millisecond.
}
}.schedule();

注意:IntervalTimer#onInterval(long) 是同步的。 如果此方法的执行时间长于间隔,则下一次调用将等待上一次回调完成。 例如,如果间隔为 3000 毫秒,并且 IntervalTimer#onInterval(long) 回调持续 4000 毫秒,则第一次调用在第 3000 毫秒,下一次调用在第 9000 毫秒。

构造函数摘要

构造函数描述
IntervalTimer(long duration, long interval)创建具有给定工作持续时间和间隔的 IntervalTimer。

方法总结

修饰符和类型方法描述
voidcancel()取消间隔计时器。
abstract voidonFinish()当间隔计时器的总工作持续时间结束时调用。
abstract voidonInterval(long remain)每次间隔开始时调用。
voidschedule()启动间隔计时器。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

IntervalTimer

public IntervalTimer(long duration, long interval)

创建具有给定工作持续时间和间隔的 IntervalTimer。

参数:

参数名称参数描述
duration间隔定时器的工作时长,单位毫秒,不能小于interval。 当工作时间结束时,将调用 IntervalTimer#onFinish() 通知间隔计时器已关闭。
interval间隔时间,单位毫秒,取值范围为(1,duration]。每开始一个间隔,就会调用IntervalTimer#onInterval(long)来通知间隔定时器的剩余工作时间。

方法详情

schedule

public final void schedule()

启动间隔计时器。

Throws:

Throw名称Throw描述
IllegalArgumentException如果间隔小于或等于 0,或大于工作持续时间,则引发此异常。

cancel

public final void cancel()

取消间隔计时器。

onInterval

public abstract void onInterval(long remain)

每次间隔开始时调用。

参数:

参数名称参数描述
remain指示间隔定时器的剩余工作时间。 由于精度,该值可能重复。

onFinish

public abstract void onFinish()

当间隔计时器的总工作持续时间结束时调用。