Как отменить определенный сигнал тревоги, если я добавил дополнительные данные
Я создаю несколько сигналов тревоги с разными идентификаторами, допустим, я создал сигналы тревоги 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();
}});