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);
}
Esta função será chamada várias vezes. Gostaria que cada um notification
iniciasse testActivity quando clicado. Infelizmente, apenas a primeira notificação inicia testActivity. Clicar no resto faz com que a janela de notificação seja minimizada.
Informações extras: a função displayNotification()
está em uma classe chamada UploadManager
. Context
é passado para a UploadManager
partir das activity
instancias. A função displayNotification()
é chamada várias vezes a partir de uma função, também em UploadManager, que está sendo executada em um AsyncTask
.
Edição 1: esqueci de mencionar que estou passando a resposta de String Intent intent
como um 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);
Isso faz uma grande diferença porque eu preciso da "resposta" extra para refletir qual era a resposta da String quando a notificação foi criada. Em vez disso, usando PendingIntent.FLAG_UPDATE_CURRENT
, a "resposta" extra reflete a resposta da String na última chamada displayNotification()
.
Eu sei por que isso acontece lendo a documentação no FLAG_UPDATE_CURRENT
. No entanto, não tenho certeza de como contornar isso no momento.