Можно ли создать несколько PendingIntents с одним и тем же requestCode и разными дополнениями?

м используюAlarmManager планировать где-нибудь между 1 и 35 сигналами тревоги (в зависимости от ввода пользователя). Когда пользователь запрашивает планирование новых аварийных сигналов, мне нужно отменить текущие аварийные сигналы, поэтому я создаю все свои аварийные сигналы с тем же кодом запроса, определенным вfinal переменная.

// clear remaining alarms
Intent intentstop = new Intent(this, NDService.class);
PendingIntent senderstop = PendingIntent.getService(this,
            NODIR_REQUESTCODE, intentstop, 0);
am.cancel(senderstop);

// loop through days
if (sched_slider.getBooleanValue())
for (int day = 1; day < 8; day++) {

    if (day == 1 && sun.isChecked())
                scheduleDay(day);
    if (day == 2 && mon.isChecked())
                scheduleDay(day);
    if (day == 3 && tue.isChecked())
                scheduleDay(day);
    if (day == 4 && wed.isChecked())
                scheduleDay(day);
    if (day == 5 && thu.isChecked())
                scheduleDay(day);
    if (day == 6 && fri.isChecked())
                scheduleDay(day);
    if (day == 7 && sat.isChecked())
                scheduleDay(day);
}

...

public void scheduleDay(int dayofweek) {
    Intent toolintent = new Intent(this, NDService.class);
    toolintent.putExtra("TOOL", "this value changes occasionally");
    PendingIntent pi = PendingIntent.getService(this,
                NODIR_REQUESTCODE, toolintent, 0);
    calendar.set(Calendar.DAY_OF_WEEK, dayofweek);
    calendar.set(Calendar.HOUR_OF_DAY, hour);
    calendar.set(Calendar.MINUTE, minute);
    calendar.set(Calendar.SECOND, 0);
    am.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(),
                AlarmManager.INTERVAL_DAY * 7, pi);
}

Здесь, если у пользователя естьsun (это флажок), он будет планировать срабатывание будильника каждое воскресенье вhour а такжеminute, Вы можете видеть, что каждый сигнал тревоги, созданный таким образом, имеет один и тот же код запроса, ноTOOL дополнительные изменения иногда для каждой тревоги.

Тем не менее, в моем тестировании, когда сработала сигнализация и запущена моя служба, дополнительные функции из Intent теперь.nullЭтот вопрос предполагает, что с помощьюPendingIntent.FLAG_CANCEL_CURRENT решит это, но нене отменяют ли другие PendingIntents?

Короче:

Может кто-нибудь объяснить, как работает PendingIntents, ссылаясь на создание нескольких из них с одинаковым кодом запроса и разными дополнениями? Какие флаги (если есть) я должен использовать?

Ответы на вопрос(2)

Ваш ответ на вопрос