簡體   English   中英

為什么 TimerTask 運行兩次?

[英]Why TimerTask is running twice?

我想在特定時間為我的 android 應用程序顯示通知。 例如:在下午 3 點打印通知消息。 我使用這個代碼:

private void checkNotificationStatus() {
     timer.schedule(new TimerTask() {
         @Override
         public void run() {
             addNotificationReminder();
         }
      }, new Date(appointment.getTimeInMillis()));
}

public void addNotificationReminder() {
   System.out.println("i'm here");
}

因此,計時器工作正常,但消息“我在這里”顯示兩次而不是一次。 如果我將一個long而不是date作為TimerTask的第二個參數(例如 2000),則消息只打印一次。 盡管如此,如果我輸入: appointment.getTimeInMillis() - System.currentTimeMillis()消息將再次打印兩次。

有什么建議嗎?

checkNotificationStatus() 可能被調用兩次。 也許在 timer.shedule() 之前放一個 println() 來檢查該方法是否被多次調用或是否真的是計時器錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM