2013-02-14 140 views
1
timer.scheduleAtFixedRate(function_to_execute, 0, 5000); 

我已經讀過上面的例子,但我想在特定的日期和時間,如2013/01/13,13:15 pm開始函數。如何在android中設置計時器?

如何設置timer.scheduleAtFixedRate參數?

非常感謝。

回答

1

scheduleAtFixedRate方法被重載。

第一:

public void scheduleAtFixedRate(TimerTask task, 
           Date firstTime, 
           long period) 

二(代碼中使用此):

public void scheduleAtFixedRate(TimerTask task, 
           long delay, 
           long period) 

所以,在spesific時間運行,您可以使用通Date對象爲第二個參數。

Date date = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss a", Locale.ENGLISH).parse("2013/01/13 13:15 pm"); 
timer.scheduleAtFixedRate(function_to_execute, date, 5000); 

更多:Timer.scheduleAtFixedRate

+0

非常感謝。有用! =] – 2013-02-14 02:36:28

+0

不客氣。 – 2013-02-14 02:45:04

1

您需要的DateTime轉換爲長值,則使用延時參數此長值。

下面是將日期轉換爲長整型值的示例,與將datetime轉換爲長整型值的方式相同,並在延遲時間參數中使用此長整型值。

String str_date="11-June-07"; 
    DateFormat formatter ; 
    Date date ; 
    formatter = new SimpleDateFormat("dd-MMM-yy"); 
    date = (Date)formatter.parse(str_date); 
    long longDate=date.getTime(); 
    System.out.println("Today is " +longDate); 

謝謝。

+0

非常感謝。有用! =] – 2013-02-14 02:35:22