2012-10-13 54 views
0

我正在使用Android的應用程序,並且需要創建一個提醒,該提醒將在每天的09:00至22:00之間運行(比如說在一個小時內或一次兩個小時),直到我取消它。我在下面的代碼中創建了一個提供給定確切日期和給定ID的提醒。因此,通過這種方式,我可以稍後用定義的ID取消提醒。在一天中的確切時間之間設置重複鬧鐘

任何想法如何做到這一點?

public void setAlarm(Context context, Calendar calendar, int alarmId) { 
     Intent intent = new Intent(context, AlarmReceiver.class);   
     PendingIntent sender = PendingIntent.getBroadcast(context, alarmId, intent, 0); 
     // Get the AlarmManager service 
     AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
     am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); 
    } 

回答

2

如果我正確理解你的問題,當您收到警報在你的廣播接收器,然後設置一個又一個一小時後,或任何你想要的時間間隔。如果下一次報警超過22:00,則在第二天的09:00之前報警。一個重複的警報不適合你的建議,所以就像你在你給的例子中使用set一樣。

+0

我正在提醒應用程序,這只是這個項目提醒的一種類型。我會有不同類型的提醒,所以我不能只添加一小時作爲下一個鬧鐘。我需要確切地知道這是每天需要運行的警報。所以我需要找到方法來創建這個鬧鐘,而無需在廣播接收器中一直控制它。 – osayilgan

+0

您可以將附加內容添加到您用來創建警報的Intent中。您可以在Intent中添加一些內容,告訴BroadcastReceiver如何處理警報,或將該信息傳遞給BroadcastReceiver啓動並處理的任何Activity或Service。 – Ralgha

+0

這似乎不是一個好主意,因爲我會有很多不同的警報類型,我需要在後臺始終控制它。而不是我可以創建例如10個不同的警報24小時的間隔時間。你怎麼看 ? – osayilgan

相關問題