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 notification
uruchamiał 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
. Context
jest przekazywany UploadManager
z tego, activity
co 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 intent
pliku 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_CURRENT
dodatkowa „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ść.