Создание затем Отмена нескольких аварийных сигналов, установленных с помощью AlarmManager

У меня есть приложение, которое позволяет пользователю выбирать пул минут. Таким образом, они могут выбрать 5, 15, 30 и 50 минут. Затем для каждого из них одновременно устанавливается аварийный сигнал тревоги со следующим кодом (этот блок кода отлично работает):

//SET ALL ALARMS for(int i = 0; i < spAlarms.length; i++) { try { if(!spAlarms[i].equals("")) { int time = Integer.valueOf(spAlarms[i]); final int intent_id = (int) System.currentTimeMillis(); /* Calendar cal = Calendar.getInstance(); cal.add(Calendar.MINUTE, time); */ Intent intent = new Intent(Hop_Timer.this, Alarm_Receiver.class); intent.putExtra("alarm_message", "Time for your " + spAlarms[i] + " min addition!"); intent_ids += "intent_id;"; PendingIntent sender = PendingIntent.getBroadcast(Hop_Timer.this, intent_id, intent, PendingIntent.FLAG_ONE_SHOT); AlarmManager am = (AlarmManager) Hop_Timer.this.getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (time*1000), sender); //Toast.makeText(getApplicationContext(), "Set alarm" + String.valueOf(System.currentTimeMillis() + (time*1000)), Toast.LENGTH_SHORT).show(); } } catch (Exception e) { Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); } } //ALARMS SET 

Я хочу, чтобы пользователь мог очистить все сигналы тревоги и начать все, даже после установки и удара. Я пробовал класс AlarmManager.cancel, но он не работает. В документации говорится, что если намерение совпадает с намерением, установленным для установки будильника, оно отменяет его. Итак, я использую этот блок кода для его отмены:

 String[] spCANCELS = intent_ids.split(";"); //Cancel all previous set alarms for(int i = 0; i < spCANCELS.length; i++) { try { if(!spCANCELS[i].equals("")) { int time = Integer.valueOf(spCANCELS[i]); Intent intent = new Intent(Hop_Timer.this, Alarm_Receiver.class); intent.putExtra("alarm_message", "Time for your " + spCANCELS[i] + " min addition!"); PendingIntent sender = PendingIntent.getBroadcast(Hop_Timer.this, time, intent, PendingIntent.FLAG_ONE_SHOT); AlarmManager am = (AlarmManager) Hop_Timer.this.getSystemService(Context.ALARM_SERVICE); am.cancel(sender); } } catch (Exception e) { Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); } } //All clear! 

Увы, тревоги продолжают идти. Я тестирую, добавив 10 различных сигналов тревоги на расстоянии 5 секунд. Я разрешаю первым трем или трем тревогам, а затем удаляет кнопку отмены, но сигналы тревоги продолжают поступать (хотя все поля очищаются внутри клика, поэтому я знаю, что прослушиватель кликов работает).

EDIT: Nevermind, мне нужно уделять больше внимания при просмотре моего синтаксиса. Эта строка: intent_ids + = "intent_id;"; Не должно было иметь переменной aim_id в кавычках.

Nevermind, мне нужно уделять больше внимания при просмотре моего синтаксиса. Эта строка: aim_ids + = "intent_id;"; Не должно было иметь переменной aim_id в кавычках.