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);
}
Ta funkcja będzie wywoływana wiele razy. Chciałbym, aby każdy notificationuruchamiał testActivity po kliknięciu. Niestety, dopiero pierwsze powiadomienie uruchamia testActivity. Kliknięcie na resztę powoduje zminimalizowanie okna powiadomienia.
Dodatkowe informacje: Funkcja displayNotification()znajduje się w klasie o nazwie UploadManager. Contextjest przekazywany UploadManagerz tego, activityco tworzy instancję. Funkcja displayNotification()jest wywoływana wiele razy z funkcji, również w programie UploadManager, która działa w pliku AsyncTask.
Edycja 1: zapomniałem wspomnieć, że przekazuję odpowiedź typu String do Intent intentpliku 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);
To robi dużą różnicę, ponieważ potrzebuję dodatkowej „odpowiedzi”, aby odzwierciedlić, jaka była odpowiedź typu String w momencie tworzenia powiadomienia. Zamiast tego, PendingIntent.FLAG_UPDATE_CURRENTdodatkowa „odpowiedź” odzwierciedla odpowiedź typu String podczas ostatniego wywołania displayNotification().
Wiem, dlaczego to jest po przeczytaniu dokumentacji FLAG_UPDATE_CURRENT. Jednak w tej chwili nie wiem, jak to obejść.