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: я забыл упомянуть, что передаю строковый ответ в 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
.Тем не менее, я не уверен, как обойти это в данный момент.