[英]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.