2014-10-08 53 views
1

我想設置以不同方式重複的鬧鐘,例如每天,每週,每隔一週,週末,週末等。 問題出在工作日和週末。我知道,例如振動器可以設置重複模式,所以我想知道AlarmManager是否也有它?我在這找不到任何東西。顯然,我可以自己計算時間,每天重複鬧鐘5次,週末2次,但我想知道是否有更好的方法,我沒有找到? 謝謝:)AlarmManager - 重複模式

+0

我有同樣的問題,我解決它通過計算自己的時間間隔,然後使用重複報警和通過的時間間隔爲alarmmanager,我還沒有找到一個alarmmanager – 2014-10-08 11:06:20

+1

任何模式是啊我是這麼認爲打算這樣做,但我認爲可能有一個更聰明的方法:) – 2014-10-08 13:53:34

+0

我發現我的重複代碼不工作,它在不同時間彈出,Android做一些奇怪的事 – 2014-10-22 12:06:11

回答

0

所以,這裏是我如何解決它到底。 time12是用戶設置的時間,並且警報在工作日或用戶設置時的週末出現。

//6-Weekdays 
case 6: 
Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(time12); 
for (int i = 0; i < 7; i++) { 
    if (cal.get(Calendar.DAY_OF_WEEK) != 6 && cal.get(Calendar.DAY_OF_WEEK) != 7) 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time12,1000 * 60 * 60 * 24 * 7,  operationBroadcast); 
    cal.add(Calendar.DAY_OF_WEEK,1); 
    } 
break; 

//7-Weekends 
case 7: 
Calendar cal2 = Calendar.getInstance(); 
cal2.setTimeInMillis(time12); 
for (int i = 0; i < 7; i++) { 
    if (cal2.get(Calendar.DAY_OF_WEEK) == 6 ||cal2.get(Calendar.DAY_OF_WEEK) == 7) 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time12, 1000 * 60 * 60 * 24 * 7, operationBroadcast); 
    cal2.add(Calendar.DAY_OF_WEEK,1); 
    } 
break;