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);
}
Cette fonction sera appelée plusieurs fois. Je voudrais que chacun notification
lance testActivity en cliquant dessus Malheureusement, seule la première notification lance testActivity. Cliquez sur le reste pour réduire la fenêtre de notification.
Informations supplémentaires: La fonction displayNotification()
est dans une classe appelée UploadManager
. Context
est passé à UploadManager
partir du activity
qui instancie. La fonction displayNotification()
est appelée plusieurs fois à partir d'une fonction, également dans UploadManager, qui s'exécute dans un fichier AsyncTask
.
Edit 1: J'ai oublié de mentionner que je passe la réponse String en Intent intent
tant que 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);
Cela fait une grande différence car j'ai besoin de la "réponse" supplémentaire pour refléter la réponse String lorsque la notification a été créée. Au lieu de cela, en utilisant PendingIntent.FLAG_UPDATE_CURRENT
, la "réponse" supplémentaire reflète la réponse String lors du dernier appel displayNotification()
.
Je sais pourquoi cela vient de la lecture de la documentation FLAG_UPDATE_CURRENT
. Cependant, je ne sais pas comment contourner ce problème pour le moment.