我在我的應用程序中使用了代碼從here,當我點擊'取消'選項時,應用程序只是最小化,當我長按主頁按鈕並選擇應用程序。它顯示相同屏幕不是閃屏或應用程序開始的常用方式 - 所以我假設它只是把我帶到主屏幕。我正在尋找一種可以完全關閉主要活動的方式。立刻退出整個應用程序
我曾嘗試以下方法,它每一次崩潰:
finish();
mainactivity.class.finish();
- 打開其中有
systemexit()
setresult()
在另一個活動的意圖。
我在我的應用程序中使用了代碼從here,當我點擊'取消'選項時,應用程序只是最小化,當我長按主頁按鈕並選擇應用程序。它顯示相同屏幕不是閃屏或應用程序開始的常用方式 - 所以我假設它只是把我帶到主屏幕。我正在尋找一種可以完全關閉主要活動的方式。立刻退出整個應用程序
我曾嘗試以下方法,它每一次崩潰:
finish();
mainactivity.class.finish();
systemexit()
setresult()
在另一個活動的意圖。不recommened但你仍然可以使用這個。 如果您需要退出應用程序,最好使用此解決方案。
根據我的最佳解決方案是完成您的應用程序中的每個活動,如下所示。
step1)在mainactivity中維護一個靜態變量。
public static boolean isQuit = false;
step2)點擊一個按鈕的事件使這個變量爲真。
mainactivity.isQuit = true;
finish();
步驟3),並在你的應用程序的每個活動都有如下onrestart方法..
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
if(mainactivity.isQuit)
finish();
}
U可以殺死所有的線程的AsyncTask每個正在運行的活動有:
System.exit(0);
我使用GPS和互聯網,因此它耗盡了大量的電池。我已經嘗試了上面的代碼它仍然在後臺運行。 – 2012-04-12 11:56:07
無線和GPS的消耗電池不間斷,所以我建議禁用這兩個設置,當你不使用它們...和你可以打開和關閉GPS編程 – user987760 2012-04-12 12:02:13
如果System.exit(0);沒有爲你工作,我想你需要完成你的活動(this.finish();)然後System.exit(0);它總是爲我工作... – user987760 2012-04-12 12:06:18
你能否告訴我們在執行你的代碼?我的意思是你試圖調用'finish()'以及你調用它有什麼錯誤? – WarrenFaith 2012-04-12 11:18:14
爲什麼你的「完成()」失敗? – 2012-04-12 11:19:30
什麼是你的logcaterror? – 2012-04-12 11:19:54