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 mehrmals aufgerufen. Ich möchte, dass jeder notification
testActivity startet, wenn er angeklickt wird. Leider startet nur die erste Benachrichtigung testActivity. Wenn Sie auf den Rest klicken, wird das Benachrichtigungsfenster minimiert.
Zusätzliche Informationen: Die Funktion displayNotification()
befindet sich in einer Klasse namens UploadManager
. Context
wird UploadManager
von dem übergeben activity
, der instanziiert. Die Funktion displayNotification()
wird mehrmals von einer Funktion aufgerufen, auch in UploadManager, die in einem ausgeführt wird AsyncTask
.
Edit 1: Ich habe vergessen zu erwähnen, dass ich die String-Antwort Intent intent
als übergeben werde 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 PendingIntent.FLAG_UPDATE_CURRENT
spiegelt die zusätzliche "Antwort" bei Verwendung die Zeichenfolgenantwort beim letzten Aufruf von wider displayNotification()
.
Ich weiß, warum das so ist, wenn ich die Dokumentation weiter lese FLAG_UPDATE_CURRENT
. Ich bin mir jedoch im Moment nicht sicher, wie ich das umgehen soll.