我有一個應用程序,開始一系列對話主題活動,我希望能夠一次性彈出它們並返回到主要活動。我看了看現有的問題,如:Android彈出堆棧活動 - 是的,再次
How to clear current activities in the stack?
how to kill sub activities and bring activity to top of stack
Android Popping off the Activity Stack
並在此基礎上,與此想出了:
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
這工作功能,但問題我當執行此操作時,對話框主題活動背後的屏幕會變爲黑色第二次,最後將屏幕上的對話框動畫化。如果我用後退按鈕手動彈出這些活動,則不會發生。
在logcat中我可以看到,當我使用上面的方法Intent
彈出對話框,主要活動被破壞並重新創建,而當我只是用後退按鈕時,onDestroy
和onCreate
方法不運行。有沒有辦法阻止主要活動以這種方式明確重新啓動?