1
我有鬧鐘,應該每天在12AM運行(這不是重複鬧鐘,我每次都需要設置它,在某些情況下我不需要它運行)AlarmManager:除非我手動更改日期,否則不會觸發鬧鐘
Intent myIntent = new Intent(AlarmService.this, AlarmService.class);
pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 12);
cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.add(Calendar.DAY_OF_MONTH, 1);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
奇怪的是,如果我手動將日期/時間更改爲第二天的12Am警報被解僱。但是,如果我將時間設置爲今天的11點59分,並且等到12點,則什麼都不會發生,如果時間/日期自動設置,那麼它也不會在上午12點開火。任何想法爲什麼是hapennning或我如何解決它?謝謝
在我的情況下,我正在重新啓動服務類本身內的警報(上面的代碼)。這是否會造成不當行爲? @Omar喬哈里 – user1433460
@ user1433460你可以使用計時器 – Omarj
看看這種情況下它是相對於你的問題? http://stackoverflow.com/questions/12807577/is-it-possible-to-have-a-alarmmanager-inside-a-service-class – Omarj