假設我有3項活動A,B和C.A導致B導致C.我希望能夠在A和B之間前後移動,但是我想完成A和B一旦C開始。我知道如何通過意圖啓動C時關閉B,但我如何在C啓動時關閉A?從其他活動完成活動
2
A
回答
1
當您打開C活動時使用此標誌。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
這將清除C.
0
的頂部由於A
所有的活動是你的根(起點)的活性,可以考慮使用A
作爲調度員。如果要啓動C
並完成所有其他活動(下)之前,這樣做:
// Launch ActivityA (our dispatcher)
Intent intent = new Intent(this, ActivityA.class);
// Setting CLEAR_TOP ensures that all other activities on top of ActivityA will be finished
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add an extra telling ActivityA that it should launch ActivityC
intent.putExtra("startActivityC", true);
startActivity(intent);
在ActivityA.onCreate()
做到這一點:
super.onCreate();
Intent intent = getIntent();
if (intent.hasExtra("startActivityC")) {
// Need to start ActivityC from here
startActivity(new Intent(this, ActivityC.class));
// Finish this activity so C is the only one in the task
finish();
// Return so no further code gets executed in onCreate()
return;
}
這裏的想法是,你推出ActivityA(您的調度員)使用FLAG_ACTIVITY_CLEAR_TOP
,以便它是該任務中的唯一活動,並告訴它您想要啓動的活動。然後它將啓動該活動並完成自己。這將使您只在Activity中留下ActivityC。
相關問題
- 1. 從其他活動完成活動
- 2. Android:從其他活動完成活動
- 3. 完成其他活動的活動
- 4. 如何完成其他活動的活動
- 5. 如何通知活動已完成其他活動
- 6. 如何在完成其他活動後才能調用活動?
- 7. Android:如何通知其他活動完成的活動()
- 8. 如何完成其他活動的活動
- 9. 我想完成其他活動的活動
- 10. 從其他活動恢復活動
- 11. 活動從背景或其他活動
- 12. 從其他活動中打開活動
- 13. 從非活動完成活動
- 14. 如何在「活動B」之後完成「活動A」? (完成一個活動,因爲其他)
- 15. 如何完成在Android中啓動其他活動時的活動?
- 16. 啓動和活動完成後活動
- 17. 從事其他活動?
- 18. 安卓:從其他活動
- 19. 我想從其他活動
- 20. 安卓:從其他活動
- 21. 調用從其他活動
- 22. 從片段完成活動
- 23. 致電完成()從活動
- 24. 從其他活動啓動主啓動器活動
- 25. 如何從其他活動啓動啓動器活動?
- 26. 在其他活動上顯示活動
- 27. 禁用其他活動的活動?
- 28. 在移動到其他活動時完成碎片?
- 29. 活動組中的完成活動
- 30. 開始活動,不完成活動
對我來說聽起來像A和B在** C下(即:在C之前),而不是在C之下。在這種情況下,FLAG_ACTIVITY_CLEAR_TOP將無濟於事。 – 2013-03-21 20:51:47