2010-08-31 77 views
2

如何殺死我的應用程序的所有活動?如何殺死我所有的應用程序的活動?

我試過使用this.finish(),但它只是殺死一個活動。

事實上,我想當用戶觸摸後退按鈕(僅在其中一項活動中)時,應用程序的操作與按Home按鈕相同。

+5

見http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238#2034238 – CommonsWare 2010-08-31 14:33:23

回答

2

您可以在AndroidManifest.xml中爲您的所有活動設置android:noHistory="true"。因此,他們不會將自己放到歷史堆棧上,後退按鈕會將您帶到主屏幕。

1

以前已經討論過很多次了。基本上沒有簡單的方法,也不應該有。用戶按Home鍵退出您的應用程序(如您所指出的)。

0

覆蓋onBackPressed方法,並執行按Home按鈕時發生的情況。這並不是真的要關閉所有的活動,但是你要問的是,某個活動中的後退按鈕模擬了主頁按鈕。

@Override 
public void onBackPressed() { 
    Intent i = new Intent(Intent.ACTION_MAIN); 
    i.addCategory(Intent.CATEGORY_HOME); 
    startActivity(i); 
} 

如果將其放入活動中,則在您按下後回到家中。請注意,onBackPressed方法的原始實現包含對super的調用,它被故意刪除。我知道這個問題是超級老,但他明確要求別的

0

要殺死所有的活動,請在onBackPressed上使用這些代碼。

@Override 
public void onBackPressed() { 
    if (getFragmentManager().getBackStackEntryCount()>0) { 
     getFragmentManager().popBackStackImmediate();    
    } else { 
      finishAffinity(); 
      System.exit(0); 
    } 
} 
相關問題