AlarmManager, установленный на тот же BroadcastReceiver, не работает - PullRequest
0 голосов
/ 17 июля 2011

Я хочу иметь возможность зарегистрировать две тревоги для одного и того же BroadcastReceiver. Однако первая тревога никогда не срабатывает. Как я могу сделать эту работу?

Calendar now = Calendar.getInstance();
    now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 5);
    long trigger1 = now.getTimeInMillis();
    now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 10);
    long trigger2 = now.getTimeInMillis();

    Intent startIntent = new Intent(AlarmStartReceiver.START_ALARM);
    startIntent.putExtra(AlarmStartReceiver.EXTRA_ALARM_ID, 4);
    PendingIntent startPIntent = PendingIntent.getBroadcast(context, 0, startIntent, PendingIntent.FLAG_UPDATE_CURRENT);

    Intent startIntent2 = new Intent(AlarmStartReceiver.START_ALARM);
    startIntent2.putExtra(AlarmStartReceiver.EXTRA_ALARM_ID, 5);
    PendingIntent startPIntent2 = PendingIntent.getBroadcast(context, 0, startIntent2, PendingIntent.FLAG_UPDATE_CURRENT);


    AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarm.set(AlarmManager.RTC_WAKEUP, trigger1, startPIntent);
    alarm.set(AlarmManager.RTC_WAKEUP, trigger2, startPIntent2);

Только второй гаснет. Как я могу заставить их обоих уйти?

РЕДАКТИРОВАТЬ ДЛЯ ОТВЕТА : Установите для requestCode нечто уникальное. Второй параметр метода PendingIntent.getBroadcast) Андроид ожидает уведомления о намерении

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Установите для requestCode нечто уникальное.Второй параметр метода PendingIntent.getBroadcast) android ожидает уведомления о намерении

0 голосов
/ 18 июля 2011

Вы ищете отдельное событие уведомления для каждого настраиваемого будильника?Или это должно быть то же самое уведомление с числом событий тревоги, отображаемым на значке строки состояния?

Посмотрите на этот пост, как вы можете использовать "setData ()" для намерения создавать отдельные тревоги.

Alarm Manager - планирование нескольких неповторяющихся событий

...