2011-10-11 233 views
0

我對這個主題進行了各種不同的嘗試,但仍然沒有多少疑問。Android:退出應用程序

闕一:在我的應用程序有多個活動A-> B-> C^

A-> B2-> C2 .. A-B3-C3 ...

是流。我有「返回」和「回家」按鈕,每個活動分別轉到上一個活動和A.

最初我將其中的每一個都作爲「單一任務」啓動,一切看起來都很好。

現在我想處理錯誤條件,從而退出應用程序來圖片。 從我的閱讀我從我理解它不是「好」,推出每個活動作爲單一的任務 (我可能不是很清楚原因或我在這裏錯了) 因此,我改變了所有活動的發射模式作爲標準 所以我注意到一件事在「回」或「回家」之間切換的行動比以前慢。 SO IAM我做正確的事在這裏

闕二:現在我有我的代碼

if (some error) 
    { 
     this.finish()  
    } 

    code line; 

這是我的根活動A和開展任何其他活動之前將受到打擊 但我看到的是完成被執行,但在應用程序真正退出之前,代碼行被執行導致一些異常。我的預期行爲是一旦我打電話完成,它就像是從這個活動返回,並沒有更多的代碼在這裏執行

闕3:現在,當我們對根活動調用完成後,誰會實際處理它。

+0

你可以使用:intent.setFlags(意向.FLAG_ACTIVITY_CLEAR_TOP);打電話給家裏的活動。 – Hanry

+0

我如何設置家庭活動的意圖標誌。有沒有辦法在androidmanifest中指定它。 也每次我按「home」fron我的任何活動都將被刪除? – png

+0

來自其他活動youru可以使用: 意圖intent = new Intent(context,Home.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(intent); – Hanry

回答

7
Intent i = new Intent(); 
i.setAction(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 
ListActivity.this.startActivity(i); 
finish(); 
+0

可以ü請解釋 – png

+0

退出你的應用程序...代碼複製粘貼在Onclick ...試試這個......希望這有助於! – Android

+0

@Android我想他是要你解釋一下這個代碼的功能和工作原理。我還沒有通讀你的代碼,但你有沒有在API中查找過這些Intent方法?http://developer.android.com/reference/android/content/Intent.html#setAction(java.lang。字符串) – shanet

0

關閉所有以前的活動如下:

Intent intent = new Intent(this, MainActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.putExtra("Exit me", true); 
    startActivity(intent); 
    finish(); 

然後在MainActivity onCreate()方法添加此完成在MainActivity

setContentView(R.layout.main_layout); 

    if(getIntent().getBooleanExtra("Exit me", false)){ 
     finish(); 
     return; // add this to prevent from doing unnecessary stuffs 
    }