Повторяющегося будильника broadcastreciever умысел строку дополнения не обновляются
У меня есть класс ниже, чтобы проверить, срабатывают ли мои сигналы тревоги в точное время, которое я запланировал, или оно отличается.
Я вызову метод SetAlarm внутри широковещательного приемника из MainActivity. Последовательные сигналы тревоги будут установлены самим приемником, установив текущее время в качестве его новой строки extra.
Сигналы тревоги работают нормально, за исключением того, что дополнительные строки намерения проблемы не обновляются. ScheduledTime всегда будет содержать начальное значение независимо от того, что я установил в методе setAlarm.
public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Date currentTime = new Date(); String ScheduledTime = ""; if (null != intent) { //Null Checking ScheduledTime = intent.getStringExtra("ScheduledTime"); //intent.removeExtra("ScheduledTime"); } String message = "Current Time" + currentTime + ", Scheduled Time was: " + ScheduledTime ; //Show Notification long alarmMillis =(10*60*1000) ; //Set Alarm after 10 minutes Long newTimeInMillis = System.currentTimeMillis() + alarmMillis; currentTime.setTime(newTimeInMillis ); setAlarm(context, newTimeInMillis , currentTime.toString()); } public void setAlarm(Context context, Long timeMillis, String ScheduledTime) { AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent i = new Intent(context, AlarmReceiver.class); i.putExtra("ScheduledTime", ScheduledTime); PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0); am.setExact(AlarmManager.RTC_WAKEUP, timeMillis, pi); } }
Что я уже пробовал:
Я попытался удалить лишнее из широковещательного приемника (что я прокомментировал в блоке кода). Все еще не работает.