2015-11-04 69 views
0

我最近發現CountDownTimeronTick已經排隊,直到設備被喚醒(或者至少從谷歌組的某些線程看起來如此)。但是onFinish呢?`CountDownTimer`的'onFinish`會喚醒設備嗎?

我希望有應對AlarmManager或任何需要處理的意圖,因爲我有一個非常困難的時期保持創建意圖,意圖過濾器等所需要的所有不同參數的軌道

CountDownTimer似乎沒有使用喚醒鎖,所以我得假設要麼我不能總是依靠onFinish來觸發,要麼它以不同的方式工作(從我讀過的,那裏是一個比使用喚醒鎖的意圖更好的方法,問題是,CountDownTimer是否暗含使用意圖或其他方法來確保觸發?)

回答

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; 
} 
+0

謝謝。我在android studio方面遇到了一些嚴重的麻煩,所以我無法親自檢查源代碼(儘管我嘗試了很多) – user1999728