Има дейност, която обикновено се стартира от:
intent = new Intent(CheckOutActivity.this, LiveStatusActivity.class);
startActivity(intent);
finish();
LiveStatusActivity е най-новата дейност, стартирана от CheckOutActivity. Сега да кажем, че LiveStatusActivity лежи в горната част на стека за активност.
В същото време започвам чакащо намерение при получено известие,
Intent in = new Intent(this, LiveStatusActivity.class);
in.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
contentIntent = PendingIntent.getActivity(this, 0, in, PendingIntent.FLAG_UPDATE_CURRENT);
При чакаща дейност с намерение предишната LiveStatusActivity, която е стартирана от друга дейност, трябва да бъде актуализирана/заменена.
В момента LiveStatusActivity е стартирана (чрез чакащо намерение) и друга същата дейност все още е там зад нея.
т.е. LiveStatusActivity(top t by pending intent
)-----> LiveStatusActivity(t-1 by checkoutactivity
)---->.....
Опитах различни флагове, проверих много отговори в S.O, всичко напразно. Опитах също да сложа android:launchMode="singleTask"
, същият резултат.