Я наблюдаю за поведением Intent.FLAG_ACTIVITY_CLEAR_TOP.Flag Activity Clear Top уничтожает целевую активность, а не создает ее
К примеру у меня есть три вида деятельности A, B и C Теперь Поток A -> B -> C
Теперь, когда я начинаю с C с этим флагом с последующим кодом.
Intent intent_to_a=new Intent(C.this,A.class);
intent_to_home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent_to_a);
AFAIK, Intent.FLAG_ACTIVITY_CLEAR_TOP должны удалить B и должен возобновить А .Это также делает то же самое, но странным образом. Удаляет B, чем удаляет A, чем создает A. Также вызывается метод onDestroy of A. Может ли кто-нибудь сказать мне, правильно это или нет? Если я не хочу, чтобы он уничтожил, что мне делать?
взгляд в FLAG_ACTIVITY_REORDER_TO_FRONT, это ближе к тому, что вы хотите http://developer.android.com/reference/android/content/Intent.html –
да, я посмотрел на это тоже, но я также хочу, чтобы B get destroy, FLAG_ACTIVITY_REORDER_TO_FRONT помещает A в начало ActivityStack без удаления B. –
Возможно, вы могли бы использовать LocalBroadCastManager для отправки отдельного намерения в B, чтобы закончить сам, а затем использовать Reorder_to_front? Я мог бы предоставить исходный код, если это вас интересует –