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);
}
Questa funzione verrà chiamata più volte. Vorrei che ciascuno notification
avvii testActivity quando cliccato. Sfortunatamente, solo la prima notifica avvia testActivity. Facendo clic sul resto, la finestra di notifica viene ridotta a icona.
Ulteriori informazioni: la funzione displayNotification()
è in una classe chiamata UploadManager
. Context
è passato UploadManager
da activity
ciò che istanzia. La funzione displayNotification()
viene chiamata più volte da una funzione, anche in UploadManager, in esecuzione in un file AsyncTask
.
Modifica 1: ho dimenticato di dire che sto passando la risposta String in Intent intent
un file 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);
Ciò fa una grande differenza perché ho bisogno della "risposta" aggiuntiva per riflettere quale era la risposta della stringa quando è stata creata la notifica. Invece, utilizzando PendingIntent.FLAG_UPDATE_CURRENT
, la "risposta" aggiuntiva riflette quale risposta String era nell'ultima chiamata a displayNotification()
.
So perché questo deriva dalla lettura della documentazione FLAG_UPDATE_CURRENT
. Tuttavia, al momento non sono sicuro di come aggirarlo.