将`CountDownTimer`的`onFinish`唤醒设备?

时间:2015-11-04 22:09:30

标签: android countdowntimer

我最近发现CountDownTimer的{​​{1}}排队等到设备被唤醒(或者至少从谷歌群组的某个主题看起来如此)。但是onTick呢?

我希望必须处理onFinish或任何需要处理意图的事情,因为我很难跟踪所需的所有不同参数创建一个意图,意图过滤器等。

AlarmManager似乎没有使用唤醒锁,所以我不得不假设我不能总是指望CountDownTimer开火,或者它以不同的方式工作(从我已经读过,有一种比使用唤醒锁更好的方法 - 使用意图。问题是,onFinish是否隐含地使用意图或其他方法来确保触发?)

1 个答案:

答案 0 :(得分:0)

不,它不会唤醒设备。你可以尝试一下,看看。 onFinish实际上是一个在CountDownTimer类中进行decalred的接口:

public abstract void onFinish();

当你启动CountDownTimer时,实际上会发生这种情况:

 public synchronized final CountDownTimer start() {
    mCancelled = false;
    if (mMillisInFuture <= 0) {
        onFinish();
        return this;
    }
    mStopTimeInFuture = SystemClock.elapsedRealtime() + mMillisInFuture;
    mHandler.sendMessage(mHandler.obtainMessage(MSG));
    return this;
}