Как работает SingleTop?
Предположим, у вас есть текущий стек активности, такой как
A->B->C
Теперь из текущей активности C, если вы запускаете A действие, которое являетсяsingleTop, поэтому в этом случае система создаст новый экземпляр A и выведет этот экземпляр наверх. (Если указанное действие не на вершине, то будет создан новый экземпляр)
Таким образом, стек будет выглядеть так:
A->B->C->A
Теперь, если вы попытаетесь снова открыть A, то в этом случае как A наtop уже, так что NO будет создан новый экземпляр. Вместо этого A получит обратный вызов в onNewIntent () метод
Flag
FLAG_ACTIVITY_REORDER_TO_FRONT
, он сканирует от начала стека до конца стека, и если он нашел экземпляр указанногозатем действие выводит это действие на передний план.
Так что в вашем случае, если DetailsActivity instacne уже присутствует в системе, тогда этот флаг выведет DetailsActivity на передний план