Уведомление Android запускает ту же активность дважды - PullRequest
6 голосов
/ 02 декабря 2010

Когда я нажимаю на уведомление в строке состояния, запускается действие, но поведение странное. Если мое приложение находится на переднем плане, и я щелкаю уведомление, намерение уведомления запускается один раз. Если мое приложение находится в фоновом режиме, то уведомление о срабатывании запускается дважды. Если я выхожу из приложения (т. Е. Все действия прекращаются нажатием кнопки «Назад»), тогда уведомление о срабатывании запускается один раз. Может кто-нибудь объяснить это поведение. Фрагмент кода выглядит следующим образом:

_notification = new Notification(icon_id, "Ticker Text", System.currentTimeMillis());
_showActivityIntent = new Intent();
_showActivityIntent.setAction(MyActivityName);
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_NO_HISTORY);
_showActivityPendingIntent = PendingIntent.getActivity(context, 0, _showActivityIntent, 0);
_notification.setLatestEventInfo(context, "My title", "My text", _showActivityPendingIntent);
_notificationMgr.notify(notificationId, _notification);

1 Ответ

9 голосов
/ 02 декабря 2010
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Попробуй это. это предотвратит множественные случаи одной и той же активности. Вы можете также указать это в манифесте

...