2011-05-04 60 views
0

我目前有一個問題,並會解決另一個人對問題的新觀點。Android結束所有其他活動?

我有3個單獨的活動。

首頁

問題

回答

從首頁你只能去從問題你可以去答覆問題。現在從答案中,您可以拉出菜單並返回到主屏幕。此時,它通過回調和通過finish()完成問題結束,但第一個主屏幕活動仍然存在,如果單擊後退按鈕,它將再次返回到同一屏幕。

這意味着如果我從主屏幕打開一個問題,然後去回答,並從菜單進入主屏幕。如果我這樣做了幾次,則會有2,3個或更多的主屏幕在運行。

有什麼我可以運行從我的正在運行的應用程序中刪除所有其他活動?

對不起,如果這有點令人困惑,我的頭也會痛,也只是想着這個。如果你想更清楚地澄清這一點,我會盡我所能。

+0

每個活動。請參閱http://developer.android.com/reference/android/content/Intent.html#addFlags (int) http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP – binnyb 2011-05-04 17:12:52

+0

您也可以爲清單添加標誌。我建議看看singleInstance和SingleTask(我認爲他們被稱爲) – Falmarri 2011-05-04 17:17:59

+0

@Falmarri完美的工作。如果你想提交它作爲答案,我會接受它 – Somk 2011-05-08 09:58:03

回答

0

在你回答finish()之前,請設置某種標誌(全局變量,共享前導,你的選擇)來通知問題也可以調用finish()。這會使您以乾淨的方式回到主屏幕。

0

您可以停止活動的多個實例使用意向的旗幟正在啓動,如

Intent i = new Intent(this, ActivityA.class); 
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(i); 

看:你可能會想看看在開始添加標誌,以你的意圖public Intent setFlags (int flags)