AlarmManager:除非我手动更改日期,否则不会触发警报

时间:2012-11-12 07:55:30

标签: android android-intent alarmmanager

我有一个警报应该每天早上12点运行(这不是一个重复警报,我在每次需要cz时设置它,在某些情况下我不想让它运行)

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:59Pm并等到12 AM没有任何反应,如果时间/日期是自动设定的,那么它也不会在上午12点开火。任何想法为什么是hapennning或我如何解决它?谢谢

1 个答案:

答案 0 :(得分:0)

你的代码看起来有些问题this我会在它完美之前使用它,它会改善你的代码。