title: android alarmmanager multiple alarms, one overwrites the other?
body: <p>I've searched posts for answers to my question but haven't found anything that solves my problem. I'm trying to set 3 different alarms using one AlarmSettings class.  When I set two alarms, the second one takes precedence over the first and the first never goes off.  I think it may have to do with my pending intent...  I'm really new to android and would greatly appreciate the help.  Here's my code for setting the alarms:</p>
  
  <pre><code>public void setAlarm() {
  
          Calendar calendar = Calendar.getInstance();
          calendar.setTimeInMillis(System.currentTimeMillis());
          calendar.set(Calendar.HOUR_OF_DAY, timepicker.getCurrentHour());
          calendar.set(Calendar.MINUTE, timepicker.getCurrentMinute());
          calendar.set(Calendar.SECOND, 0);
  
          if (timepicker.getCurrentHour() &lt; calendar.get(Calendar.HOUR_OF_DAY)) { //if the alarm hour is less than the current hour
              calendar.add(Calendar.DATE, 1);                                     //then add 24 hours (1 DATE or Day)                 
          }
  
          //Create the text that we want to set the TextView alarmtime to in Main
          StringBuilder sb = new StringBuilder();
          if (timepicker.getCurrentHour() &gt; 12) {
              sb.append(timepicker.getCurrentHour() - 12);
          } else {
              sb.append(timepicker.getCurrentHour());
          }
          sb.append(":");
          sb.append(timepicker.getCurrentMinute());
          sb.append(" ");
          if (timepicker.getCurrentHour() &gt; 12) {
              sb.append("pm");
          } else {
              sb.append("am");
          }
  
          if (((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited() == 1) {
              ((GlobalVariables)getApplication()).setAlarm1Cal(calendar);
              Main.alarmTime1.setText(sb);
  
              Intent intent1 = new Intent(AlarmSettings.this, AlarmReceiver.class);
              intent1.putExtra("alarm_num", ((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited());
              PendingIntent pendingIntent1 = PendingIntent.getActivity(getApplicationContext(), 0, intent1, PendingIntent.FLAG_ONE_SHOT);
  
              alarmmanager1.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent1);
  
          } else if (((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited() == 2) {
              ((GlobalVariables)getApplication()).setAlarm2Cal(calendar);
              Main.alarmTime2.setText(sb);
  
              Intent intent2 = new Intent(AlarmSettings.this, AlarmReceiver.class);
              intent2.putExtra("alarm_num", ((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited());
              PendingIntent pendingIntent2 = PendingIntent.getActivity(getApplicationContext(), 0, intent2, PendingIntent.FLAG_ONE_SHOT);
  
              alarmmanager2.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent2);
  
          } else if (((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited() == 3) {
              ((GlobalVariables)getApplication()).setAlarm3Cal(calendar);
              Main.alarmTime3.setText(sb);
  
              Intent intent3 = new Intent(AlarmSettings.this, AlarmReceiver.class);
              intent3.putExtra("alarm_num", ((GlobalVariables)getApplication()).getCurrentAlarmBeingEdited());
              PendingIntent pendingIntent3 = PendingIntent.getActivity(getApplicationContext(), 0, intent3, PendingIntent.FLAG_ONE_SHOT);
  
              alarmmanager3.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent3);
          }
  
          finish();
  
          Toast.makeText(getApplicationContext(), "system time: " + System.currentTimeMillis() + "\n" + "picked time: " + calendar.getTimeInMillis(), Toast.LENGTH_LONG).show();      
      }
  </code></pre>