如何殺死我的應用程序的所有活動?如何殺死我所有的應用程序的活動?
我試過使用this.finish()
,但它只是殺死一個活動。
事實上,我想當用戶觸摸後退按鈕(僅在其中一項活動中)時,應用程序的操作與按Home按鈕相同。
如何殺死我的應用程序的所有活動?如何殺死我所有的應用程序的活動?
我試過使用this.finish()
,但它只是殺死一個活動。
事實上,我想當用戶觸摸後退按鈕(僅在其中一項活動中)時,應用程序的操作與按Home按鈕相同。
您可以在AndroidManifest.xml中爲您的所有活動設置android:noHistory="true"
。因此,他們不會將自己放到歷史堆棧上,後退按鈕會將您帶到主屏幕。
以前已經討論過很多次了。基本上沒有簡單的方法,也不應該有。用戶按Home鍵退出您的應用程序(如您所指出的)。
覆蓋onBackPressed
方法,並執行按Home按鈕時發生的情況。這並不是真的要關閉所有的活動,但是你要問的是,某個活動中的後退按鈕模擬了主頁按鈕。
@Override
public void onBackPressed() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
如果將其放入活動中,則在您按下後回到家中。請注意,onBackPressed
方法的原始實現包含對super的調用,它被故意刪除。我知道這個問題是超級老,但他明確要求別的
要殺死所有的活動,請在onBackPressed上使用這些代碼。
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount()>0) {
getFragmentManager().popBackStackImmediate();
} else {
finishAffinity();
System.exit(0);
}
}
見http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238#2034238 – CommonsWare 2010-08-31 14:33:23