Ich habe ein Formular erstellt, wo Benutzer Datum und Uhrzeit angeben und Alarm hinzufügt. Ich nehme dieses Datum und die Uhrzeit und erstelle Alarm mit AlarmManager
.AlarmManager Alarm sofort starten
Das Problem ist, dass, sobald ich auf CreateRemainder
Schaltfläche klicken, wird Alarm ausgelöst wird
ich folgende Methode bin mit Datum zu übergeben, Zeitwert zu AlarmManager
Klasse.
int year= Integer.parseInt(splitDate[0]);
int month= Integer.parseInt(splitDate[1]);
int day= Integer.parseInt(splitDate[2]);
int hour= Integer.parseInt(splitTime[0]);
int minute= Integer.parseInt(splitTime[1]);
int second= 0;
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
cal.set(Calendar.DATE,day); //1-31
cal.set(Calendar.MONTH,month-1); //first month is 0!!! January is zero!!!
cal.set(Calendar.YEAR,year);//year...
cal.set(Calendar.HOUR_OF_DAY, hour); //HOUR
cal.set(Calendar.MINUTE, minute); //MIN
cal.set(Calendar.SECOND, second);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
Ich debug diese und seine richtigen Werte zu bekommen, aber es startet sofort Alarm. Wenn ich die AlarmManager
Zeit zu hart kodierten 10 Sekunden Zeit ändere, beginnt es Rest nach 10 Sekunden.
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), pendingIntent);
Aber wenn ich 10 Sekunden zum Kalender addiere, fängt es sofort an, Alarm sofort anzuzeigen, nachdem es eingestellt worden ist.
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis()+10000, pendingIntent);
Statt 'Systemzeit' bekommen' Alarmmanager' Zeit. –
@ Kirmani88 .. Ich sah, dass Sie meine Antwort akzeptiert ... Könnten Sie bitte meine Antwort kommentieren und uns sagen, wie Sie behoben? Für zukünftige Referenz ... – W0rmH0le