У меня есть приложение, которое предупреждает пользователя какими-то напоминаниями. Эти напоминания отображаются как уведомления. Когда пользователь нажимает на любое из этих уведомлений, оно должно отображать дополнительную информацию об этом сигнале тревоги. Это делается в основном путем вызова действия с определенным параметром.
Вот что я делаю:
NotificationManager mNotificationManager = (NotificationManager) MyApplication.getContext().getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.reminder2, reminder.Title, System.currentTimeMillis());
Intent notificationIntent = null;
notificationIntent = new Intent(MyApplication.getContext(), ReminderActivity.class);
notificationIntent.putExtra("idnotification", reminder.ID);
PendingIntent contentIntent = PendingIntent.getActivity(MyApplication.getContext(), reminder.ID, notificationIntent, 0 );
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.FLAG_INSISTENT;
notification.setLatestEventInfo(MyApplication.getContext(), "Reminder", reminder.Title, contentIntent);
mNotificationManager.notify(reminder.ID, notification);
Кажется, это работает, проблема в том, что если я щелкну несколько раз на уведомлении, оно создаст новое действие вместо того, чтобы отобразить уже видимое.
Я попытался установить флаги для PendingIntent, но безуспешно. Я пытался с FLAG_CANCEL_CURRENT, FLAG_NO_CREATE, FLAG_ONE_SHOT, FLAG_UPDATE_CURRENT. Единственное, что близко к тому, что мне нужно, это FLAG_ONE_SHOT, но второй раз, когда я нажимаю на него, активность не отображается.
Что еще я могу попробовать? Я полностью исчерпал идеи здесь.
Спасибо