Я думаю, что только что обнаружил действительно странную ошибку ... но это может быть какая-то особенность, о которой я никогда не слышал ..
В моем приложении, если у меня есть активность на AndroidManifest сandroid: launchMode = "singleInstance", когда вы пытаетесь "очистить" стек до определенной точки с помощью следующего кода:
Intent intent = new Intent(this, Xpto.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Он переходит к этому действию ... но когда вы нажимаете назад, он возвращается кпредыдущий..это должно было закончиться ...
Пример:
A -> B -> C
Затем из CI вызвать A с Intent.FLAG_ACTIVITY_SINGLE_TOP |Intent.FLAG_ACTIVITY_CLEAR_TOP с одним экземпляром в манифесте.Он идет к A, но только выводит его на передний план ... и не заканчивает C и B.
Может кто-нибудь объяснить это поведение?
Класс Xpto, который я вызываю, находится в то времякорень активности стека.
Спасибо