Уведомление Android дважды запускает одну и ту же активность

StackOverflow https://stackoverflow.com/questions/4333946

  •  30-09-2019
  •  | 
  •  

Вопрос

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

_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);
Это было полезно?

Решение

_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top