我正在嘗試使用AppCompat抽屜和多個頂級活動(不是片段)創建一個基本應用程序 - 我無法完全理解如何管理這個後臺堆棧 - 我試過了大約有一百種不同的方法 - 但它們都需要某種奇怪的破解來清除後臺 - 或者完成現有的活動。頂級安卓活動
我有3個活動 - A,B &下一個& B是頂層,C是B的孩子
我想:
- 要開始一個活動時,應用程序啓動
- 要退出應用程序時,我按從A
- 後退按鈕以從抽屜
- 啓動活動B要退出應用程序時,我按下返回按鈕來回M B
- 要從活動B開始活動Ç
- 要通過選擇抽屜按鈕回到活動B,當我選自C
- 按下返回按鈕當我從A B或A或B選自C開始乙 - 我應該把頂級活動恢復到它的香草狀態。
我:
protected void startActivity(Class activity) {
final Intent intent = new Intent(this, activity);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
overridePendingTransition(0, 0);
}
基本上我傳遞要麼ActivityA.class或ActivityB.class - 這種方法 - 按從B改回帶我到一個
使用HO_HISTORY,看起來確定 - 但從C後退退出應用程序
使用REORDER_TO_FRONT似乎沒有做任何事情?
使用面漆()startActivity工作後完美 - 除非你選擇A或B的兩倍(在這種情況下,你退出程序)
使用FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK以各種方式完美工作 - 除了超級討厭的屏幕在任務重新創建時閃爍。而性能命中...
幫助??
非常多 - 雖然有Intent.FLAG_ACTIVITY_NEW_TASK,所以A&B重新開始而不是簡歷。 – Silver