protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification = new Notification(R.drawable.icon, "Upload Started", System.currentTimeMillis());
notification.setLatestEventInfo(context, "Upload", response, pendingIntent);
nManager.notify((int)System.currentTimeMillis(), notification);
}
Эта функция будет вызываться несколько раз. Я бы хотел, чтобы каждый из них notification
запускал testActivity при нажатии. К сожалению, только первое уведомление запускает testActivity. Нажав на остальные, окно уведомлений свернется.
Дополнительная информация: Функция displayNotification()
находится в классе с именем UploadManager
. Context
передается UploadManager
из того, activity
что создает. Функция displayNotification()
вызывается несколько раз из функции, также в UploadManager, которая выполняется в AsyncTask
.
Изменить 1: я забыл упомянуть, что я передаю ответ String Intent intent
как файл extra
.
protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
intent.putExtra("response", response);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Это имеет большое значение, потому что мне нужен дополнительный «ответ», чтобы отразить, каким был ответ String при создании уведомления. Вместо этого при использовании PendingIntent.FLAG_UPDATE_CURRENT
дополнительный «ответ» отражает ответ String на последний вызов displayNotification()
.
Я знаю, почему это происходит из документации FLAG_UPDATE_CURRENT
. Однако я не знаю, как это обойти в данный момент.