Последнее локальное уведомление отменяет предыдущее - PullRequest
0 голосов
/ 08 марта 2019

Я создаю локальное уведомление с действием Call . Уведомления запускаются с использованием следующего кода, и каждое уведомление имеет различный идентификатор уведомления:

Intent myIntent = new Intent(mContext, NotificationService.class);
    myIntent.putExtra("phoneNumber", phone);
    myIntent.putExtra("notificationId", notificationId);

AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(ALARM_SERVICE);
            PendingIntent pendingIntent = PendingIntent.getService(mContext, notificationId, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
            alarmManager.set(AlarmManager.RTC_WAKEUP, startTime, pendingIntent);

А в NotificationService.class создаю и отображаю уведомление notificationManager.notify(notificationId, mBuilder.build());

Я запускаю два уведомления с интервалом в несколько секунд, и оба отображаются в строке состояния. Предположим, что первый должен выполнить действие вызова на 1111 , а второй - действие вызова на 2222 . Если я нажму действие вызова первого, оно вызовет 2222 . Что может быть не так?

1 Ответ

0 голосов
/ 08 марта 2019

Я думаю, удаление флага PendingIntent.FLAG_UPDATE_CURRENT поможет:

PendingIntent pendingIntent = PendingIntent.getService(
        mContext, notificationId, myIntent, 0);
...