2013-01-09 83 views
0

我有一項服務,每運行一分鐘使用重複報警。但是我想在上午9點30分到下午4點和下午8點 - 上午2點30分(時區爲印度標準時間-IST)之間運行此服務,並且每運行1分鐘。運行服務使用重複報警在特定時間之間

例如:

UTC Time 
StartTime EndTime 
22:00 05:00 
23:50 06:12 
00:00 06:00 
01:00 09:00 
01:00 05:30 
01:15 08:00 
01:20 08:00 
01:30 07:00 
02:30 09:00 
03:00 09:30 
03:45 10:00 
04:00 09:00 
06:00 15:00 
07:00 14:25 
07:00 15:00 
07:00 21:00 
07:30 15:30 
07:55 16:35 
08:00 16:30 
9:00 15:00 
13:00 20:00 
14:00 20:00 
07:30 10:30 

如何在僅由上述UTC定時之間運行,每1分鐘的服務?我應該使用服務在24小時內運行並在服務檢查條件內運行邏輯,還是可以使用重複警報本身進行管理?

回答

0

當您想要停止警報時,使用您用於創建警報管理器的相同意圖取消警報管理器。

+0

然後如何註冊下午8點的警報。這個時間(下午8點)不是一個常量。它會根據用戶選擇的時區而有所不同。 – Ramprasad

+0

這是你如何創建自定義的鬧鐘。這將需要手機的掠過時間:日曆cal = Calendar.getInstance(); \t \t cal.set(Calendar.HOUR_OF_DAY,19); \t \t cal.set(Calendar.MINUTE,27); \t \t cal.set(Calendar.SECOND,0); \t \t cal.set(Calendar.MILLISECOND,0); \t Intent intent = new Intent(this,TimeAlarm.class); \t pendingIntent = PendingIntent.getBroadcast(this,0, \t intent,PendingIntent.FLAG_CANCEL_CURRENT); \t am.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),10000, \t pendingIntent); – Payal

+0

是的,當我們知道觸發時間時,這個代碼是可以註冊的。但在我的情況下,觸發時間會隨着數據庫的不同而不同。例如,如果報警登記時間爲上午9點至上午10點。則下一個觸發時間可能爲上午9點30分。所以,如果我註冊另一個報警上午9:30另一個服務將創建,它是複製現有的正在運行的服務(上午9點至10點)的 – Ramprasad

相關問題