2011-02-18 75 views
1

你好,我必須爲每個約會(我插入約會細節) 設置一個鬧鐘,並且還顯示約會的日期列表中的警報。 但如果我從列表中取消特定的約會,那麼它不能報警,但對於所有的約會,它正在報警。如何取消預定任務

我如何取消任何特定的預約報警。

calendar = Calendar.getInstance();

 calendar.set(Calendar.YEAR, _year); 
     calendar.set(Calendar.MONTH, _month - 1); 
     calendar.set(Calendar.DATE, _date); 
     calendar.set(Calendar.HOUR_OF_DAY, _hour1); 
     calendar.set(Calendar.MINUTE, _min1); 
     calendar.set(Calendar.SECOND, 0); 

Date specified = calendar.getTime();

Timer timer = new Timer(); 
    timer.schedule(new TimerTask() { 
     public void run() { 

      showNotification(); 

     } 
    }, specifiedTime); 

我已經使用timer.cancel();但它不能正常工作。 請幫忙... 在此先感謝

+2

嗨,你知道嗎,如果你讚揚有用的答案,它被視爲表示讚賞的標誌? – andreas 2011-09-26 21:55:22

回答

1

對每個約會使用索引來避免這種問題,通過預約之間的循環。

0

您應該使用the AlarmService而不是定時器。指定的鏈接還包括如何使用它的示例。

您可以用它來通知廣播接收方,例如啓動服務或活動。

如果您使用與您發送的相同的意圖激活警報取消它,它將起作用。它不需要是對象的同一個實例,相同的意圖文本就足夠了。

希望這會有所幫助。