Как отменить определенный сигнал тревоги, если я добавил дополнительные данные

Я создаю несколько сигналов тревоги с разными идентификаторами, допустим, я создал сигналы тревоги 1, 2,3 и хочу отменить только 2. Можете ли вы вести меня, как? Я выполнил поиск по SO, но не нашел ничего о том, нужно ли мне добавлять "те же дополнительные данные" в состояние ожидания при отмене тревоги, поэтому я подумал, что я спрошу вас и посмотрю, как вы это сделаете

Вот как я создал мои тревоги

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

    Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
    broadcast_intent.putExtra("Tag", Object1);
    broadcast_intent.putExtra("Tag2", Object2);

   for(int i=1;i<=3;i++){       
       PendingIntent pendingIntent = PendingIntent.getBroadcast(this, i,  broadcast_intent, PendingIntent.FLAG_UPDATE_CURRENT);

       alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent);

   } 

Как я могу отменить будильник 2?

1 ответ

Это работает для меня:-----

   buttonCancel.setOnClickListener(new Button.OnClickListener(){

  @Override
 public void onClick(View arg0) {

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
         pendingIntent = PendingIntent.getBroadcast(AndroidAlarmService.this, 0, broadcast_intent ,PendingIntent.FLAG_CANCEL_CURRENT);             
alarmManager.cancel(pendingIntent);

        // Tell the user about what we did.
        Toast.makeText(AndroidAlarmService.this, "Cancel!", Toast.LENGTH_LONG).show();


 }});
Другие вопросы по тегам