Android alarmmanager alarmas múltiples, uno sobrescribe el otro?

He buscado mensajes para obtener respuestas a mi pregunta, pero no he encontrado nada que solucione mi problema. Estoy intentando fijar 3 alarmas diferentes usando una clase de AlarmSettings. Cuando establezco dos alarmas, la segunda tiene prioridad sobre la primera y la primera nunca se apaga. Creo que puede tener que ver con mi intento pendiente … Soy realmente nuevo en android y agradecería enormemente la ayuda. Aquí está mi código para configurar las alarmas:

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() < 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() > 12) { sb.append(timepicker.getCurrentHour() - 12); } else { sb.append(timepicker.getCurrentHour()); } sb.append(":"); sb.append(timepicker.getCurrentMinute()); sb.append(" "); if (timepicker.getCurrentHour() > 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(); } 

One Solution collect form web for “Android alarmmanager alarmas múltiples, uno sobrescribe el otro?”

 PendingIntent pendingIntent1 = PendingIntent.getActivity(getApplicationContext(), 0, intent1, PendingIntent.FLAG_ONE_SHOT); 

Cambie el atributo 0 a un id para su alarma, por ejemplo tiene tres alarmas,

Repetir el código anterior con 0,1,2.

De esta manera no se anulan entre sí.

  • Imagen de mapa de bits de ahorro de Android temporalmente
  • Android: guarda referencias a ApplicationContext
  • Cómo descargar el paquete com.sun.net.httpserver?
  • ¿Solución anti-hack para una clave secreta en la aplicación para Android?
  • ¿Cómo continuar un bucle for después de un tiempo determinado sin usar el método `try ... catch`?
  • Cómo saber el formato jpeg sin decodificar toda la imagen (android)
  • ¿Cómo puedo detectar una versión de mi aplicación?
  • Instalación de la aplicación sin icono ni actividad
  • Problema al usar org.apache.commons.net.telnet. * Con android
  • NoClassDefFoundError cuando uso lambda para recorrer String array
  • Cómo verificar si existe un valor en HashMap
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.