2012-01-12 29 views
0

我開發了一個在Facebook牆上發送生日祝福的應用程序,但是當我在同一時間打電話給某人時,我設置了發送願望,然後希望未能發佈在Facebook牆上。 我首先使用了Alarm Manager。 但我想使用計時器類,並在該計時器類我想檢查該消息張貼到牆或沒有在定義的時間或如果不是那麼我想重新安排定時器類發送帖子。 我有Timer類的代碼有沒有什麼辦法可以檢查定時器是否在規定的時間運行?

private final Timer clockTimer; 

    private class Task extends TimerTask { 
     public void run() { 
      timerHandler.sendEmptyMessage(0); 
     } 
    } 

    private final Handler timerHandler = new Handler() { 
     public void handleMessage (Message msg) { 
      // runs in context of the main thread 
      timerSignal(); 
     } 
    }; 

    private List<SystemTimerListener> clockListener = new ArrayList<SystemTimerListener>(); 

    public SystemTimerAndroid() { 
     clockTimer = new Timer(); 
     clockTimer.schedule(new Task(), 1000, 1000); 
    } 

    private void timerSignal() { 
     for(SystemTimerListener listener : clockListener) 
      listener.onSystemTimeSignal();  
    } 

    public void killTimer() { 
     clockTimer.cancel(); 
    } 

    @Override 
    public void addListener(SystemTimerListener listener) { 
     clockListener.add(listener);   
    } 

此代碼後,每一秒重複,所以我要檢查,如果它拼命地跑了第一次,然後停止計時器並重新安排了第二天等等... 請幫我。

回答

0

您可以通過將System.out.println()或任何Logcat進行檢查。您也可以通過在定時器運行方法中放置Toast來檢查。所以每次運行方法執行時,Toast將出現在屏幕上以進行通知。

+0

:但如果沒有,那麼如何在一段時間後自動檢查並重新安排時間,而不受任何干擾。 – 2012-01-12 06:30:00

+0

請看這個例子鏈接http://www.java2s.com/Tutorial/Java/0120__Development/SchedulingaTimerTasktoRunRepeatedly.htm – Lucifer 2012-01-12 06:40:38

相關問題