【发布时间】:2017-08-18 11:33:18
【问题描述】:
基本上,我想创建两个警报:
- 每天下午 6 点开火
- 每月在特定日期下午 4 点触发。
但问题是在执行每月警报后,第一个也在下午 4 点执行。
按照我创建警报的方式:
Calendar calendar = Calendar.getInstance();
Calendar calendar1 = Calendar.getInstance();
// For 1st alarm
calendar.set(Calendar.HOUR_OF_DAY, 18);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
// For 2nd alarm
calendar1.set(2017,8,17,16,00,00);
Bundle bundle = new Bundle();
Intent intent = new Intent(context, AlarmReceiver.class);
bundle.putInt("NotificationId1", 1);
bundle.putInt("NotificationId2", 2);
intent.putExtras(bundle);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 1,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(context, 2,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
alarm.set(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), pendingIntent1);
在发出每月警报后,我再次用更远的日期定义警报。
问题是在触发每月警报后,第一个警报在下午 4 点执行。如何解决问题?
我们将不胜感激。
【问题讨论】:
-
创建
Alarm类的2个对象