Мое приложение работает так,
пользователь записывает время в минутах, например 40.
Тогда приложение позвонит в будильник через 40 минут. Неважно, является ли приложение активным или работает в фоновом режиме, оно все еще работает.
Моя проблема заключается в следующем, так как я использую метод System.currentTimeMillis (); тогда это делает мое приложение зависимым от системного времени. Поэтому, если я изменю системное время в настройках, мое приложение будильника не будет вызываться в установленное время, оно изменится.
например: если время 10:00, и я установил будильник, который будет вызван через 20 минут, то он будет называться 10:20. Однако, если я перейду к настройкам и изменит системное время на 9:00 после установки будильника, то мое приложение будет вызываться через 100 минут.
Как я могу предотвратить это, чтобы, когда установлено время для будильника и какое бы системное время не было, будильник будет вызываться после этих минут.
Я проверил это Слушатель изменения даты и времени в Android? и это не то же самое, так как он не работал для меня, и я не до конца понял.
вот мой код:
public void newSetAlarm(View view) {
timeEntered = Integer.parseInt(editTextForTime.getText().toString());
Intent AlarmIntent = new Intent(this, Alarm.class);
AlarmIntent.putExtra(TIME_LEFT, timeEntered);
pendingIntentForAlarm = PendingIntent.getBroadcast(getApplicationContext(), 0, AlarmIntent, 0);
amAlarm = (AlarmManager) getSystemService(ALARM_SERVICE);
amAlarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeEntered * 60000, pendingIntentForAlarm);}