2011-11-23 101 views
4

好吧,這讓我非常生氣。倒計時服務是否有限制?Android服務+倒計時=不工作

我嘗試了很多方法使倒數計時器在服務中工作,但總是失敗。它從來沒有達到完成()部分!

那麼服務和倒計時有什麼限制嗎?請幫我...

這裏的服務:

public class ss extends IntentService { 

     public ss() { 
      super("ss"); 
     } 

     @Override 
     protected void onHandleIntent(Intent intent) { 

     new CountdownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 

    } 

    public void onFinish() { 
     executemymethod(); //it never gets here! 
    } 
    }.start(); 

     } 



} 

正如你所看到的代碼很簡單,正確的,但仍然executemymethod();從未真正執行!沒有錯誤...請給我一個解決方案!

回答

4

如果你想要做這種事情,你應該使用常規服務而不是IntentService。以下是關於IntentService的文檔:

客戶端通過startService(Intent)調用發送請求;該服務根據需要啓動,使用工作線程輪流處理每個Intent,並在其停止工作時自行停止。

由於倒計時是異步的,所以在啓動倒數計時器後工作就完成了。然後,IntentService立即完成,並可能關閉該線程。

+0

是的,已經使用正常的服務,它的作品就像一個魅力......上帝......很幸運有這個android dev網站... –