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);
}
Diese Funktion wird mehrere Male aufgerufen. Ich möchte für jede notification
um testActivity zu starten, wenn sie angeklickt wird. Leider wird testActivity nur durch die erste Benachrichtigung gestartet. Wenn Sie auf die anderen klicken, wird das Benachrichtigungsfenster minimiert.
Zusätzliche Informationen: Funktion displayNotification()
ist in einer Klasse namens UploadManager
. Context
wird übergeben an UploadManager
von der activity
die instanziiert. Funktion displayNotification()
wird mehrfach von einer Funktion aufgerufen, die sich ebenfalls im UploadManager befindet und in einem AsyncTask
.
Edit 1: Ich habe vergessen zu erwähnen, dass ich die String-Antwort in Intent intent
als 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);
Dies macht einen großen Unterschied, da ich die zusätzliche "Antwort" benötige, um die String-Antwort bei der Erstellung der Benachrichtigung wiederzugeben. Stattdessen wird mit PendingIntent.FLAG_UPDATE_CURRENT
Der Zusatz "Antwort" gibt an, wie die String-Antwort beim letzten Aufruf von displayNotification()
.
Ich weiß, warum das so ist, denn ich habe die Dokumentation zu FLAG_UPDATE_CURRENT
. Ich bin mir jedoch nicht sicher, wie man das Problem im Moment umgehen kann.