Ich habe erfolgreich eine Alarm-App eingerichtet, aber das Problem tritt auf, wenn mehrere Alarme vorhanden sind. Es überschreibt den zuvor ausgewählten Alarm.Mehrere Alarme einstellen
Welche Änderungen sollte ich an meine MainActivity.java
Datei in der Nähe der ausstehenden Absichtserklärung vornehmen?
Ich suchte online, sie sagten, verwenden Sie eine for-Schleife, um die ausstehende Intent-ID zu erhöhen, aber es funktioniert nicht.
Jede Hilfe wäre großartig. Hier ist meine code.`
public void add() {
button_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, timepicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timepicker.getCurrentMinute());
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
**PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);**
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
Toast.makeText(MainActivity.this, "the alarm is set for " + timepicker.getCurrentHour() + " : " + timepicker.getCurrentMinute(), Toast.LENGTH_SHORT).show();
myDb.insertRow(timepicker.getCurrentHour().toString(), timepicker.getCurrentMinute().toString());
}
});
}
ich :) arbeiten in einer Listenansicht den Alarm am speichert. Kannst du den Code für mich bearbeiten? also initialisiere ich eine Variable und inkrementiere sie und setze sie als eindeutige ID? Ich kämpfe seit gestern darüber. –
Ja Inkrement funktioniert gut, oder Sie können hhmmddmmyy int-Format wie 1358080714 für 8. Juli um 1-58 Uhr verwenden, so dass doppelte Alarme vermieden werden, aber wenn Sie keine hohe Genauigkeit benötigen, dann gehen Sie nur für Inkrement:) – Neo
es funktioniert nicht. Ich initialisiere eine UniqueID-Variable = 1, * PendingIntent PendingIntent = PendingIntent.getBroadcast (MainActivity.this, uniqueID, intent, PendingIntent.FLAG_UPDATE_CURRENT); und dann uniqueid ++ –