zwei Alarme gleichzeitig eingestellt
Frage
In meiner Anwendung können Benutzer Uhrzeit und Datum auswählen, um Alarme einzustellen. Was passiert, wenn der Benutzer für zwei Alarme genau das gleiche Datum und die gleiche Uhrzeit wählt? Ich nehme Eingaben vom Benutzer (für Datum und Uhrzeit) entgegen und stelle den Alarm ein.
GregorianCalendar gc=new GregorianCalendar();
gc.set(2012, 1, 22, 11, 19,0);//values as given by the user
final Intent intent = new Intent(this, AlarmService.class);
gc.set(Calendar.AM_PM,0);
// final PendingIntent sender = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, gc.getTimeInMillis(),PendingIntent.getBroadcast(this,1, intent, PendingIntent.FLAG_UPDATE_CURRENT));
Ich habe einen Rundfunkempfänger verwendet, um die Alarmsendung zu empfangen. Wie soll ich mit dieser Situation umgehen?Was soll ich lieber tun? Ich möchte den technischen Aspekt als das kennen, was in dieser Situation passiert.
Lösung
AFAIK, es werden keine technischen Probleme für gleichzeitig eingestellte Alarme verursacht. Es werden alle Alarme gleichzeitig ausgelöst.
Es hängt von Ihnen ab, wie Ihr Benutzer den Alarm einstellen soll. Wenn Sie möchten, dass er für verschiedene Alarme dieselbe Zeit einstellt, ist dies kein Problem.
Wenn Sie jedoch nicht möchten, dass sie die Alarmzeit wiederholen, sobald sie für andere festgelegt wurde, können Sie die Alarmzeit in der Datenbank speichern und zum Zeitpunkt der Einstellung einer neuen Alarmzeit nach dem Konflikt der neu eingestellten suchenAlarmzeit mit zuvor eingestellten Alarmen aus der Datenbank und ablehnen, wenn sie gleich gefunden werden.