В MainActivity в моем приложении есть launchMode
из singleTop
, определенных в файле манифеста. Всякий раз, когда я нажимаю уведомление, моя MainActivity воссоздается и старый экземпляр уничтожается. MainActivity видна и на переднем плане, когда нажимается уведомление, поэтому я предполагаю, что намерение будет передано текущему экземпляру onNewIntent()
, но этого никогда не произойдет. Вот цель создать:Действия с launchMode singleTop или singleTask всегда воссозданы
Intent resultIntent = new Intent(App.getInstance(), MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(App.getInstance());
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = PendingIntent.getActivity(App.getInstance(), 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Я иногда добавить FLAG_ACTIVITY_CLEAR_TOP
и FLAG_ACTIVITY_SINGLE_TOP
намерению так:
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Я также попытался с помощью singleTask
launchMode также с теми флагами и то же поведение произошло. Может ли кто-нибудь дать представление о таком поведении?
спасибо, это работает. Мне также не нужны флаги, установленные для намерения. –