Why is my AlarmManager firing off instantly?
alarm, alarmmanager, android, calendar, time
Solution
Possibly because your hour and minute are in the past.
Let's say that it is 16:07 hours (using 24 hour time) in your current time zone, and you execute this code with `hour` as `3` and `min` as `27`. 03:27 was in the past, and hence the alarm fires immediately.
After making your two `set()` calls, see if the time is earlier than now, and if so, `add()` one day.
Problem
I'm trying to build an alarm application. I had the alarm working before and I was able to set the different times and the alarm would go off appropriately. I then changed the layout of the ChangeAlarmActivity to a TableLayout and now it won't work? I didn't touch the code. Here is how I set the alarm: ``` Intent alarmIntent = new Intent(ChangeAlarmActivity.this, AlarmReceiver.class); PendingIntent pendingAlarmIntent = PendingIntent.getBroadcast(ChangeAlarmActivity.this, (int)alarm.getID(), alarmIntent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); System.out.println("Alarm time: " + hour + ":" + min); Calendar alarmCal = Calendar.getInstance(); //alarmCal.setTimeInMillis(System.currentTimeMillis()); alarmCal.set(Calendar.HOUR_OF_DAY, hour); alarmCal.set(Calendar.MINUTE, min); //alarmCal.set(Calendar.SECOND, 0); alarmManager.set(AlarmManager.RTC_WAKEUP, alarmCal.getTimeInMillis(), pendingAlarmIntent); ```