2012-01-20 131 views
6

如何阻止應用程序在Android中的後臺運行? 我希望我的應用程序在每次加載時都能重新開始。如何以編程方式進行。停止應用程序在後臺運行?

+0

請說清楚 –

+0

請簡單告訴我您的問題。 – Lucifer

+0

試試這個職位 http://stackoverflow.com/questions/7426751/how-to-close-stop-running-application-on-background-android 它可能會幫助你。 – Ajay

回答

6

覆蓋onStop方法:

@Override 
public void onStop(){ 
    super.onStop(); 
    finish(); 
} 

但我認爲這是一個壞主意,重新啓動您的應用程序每次。最好覆蓋onStart方法,並在這裏處理「重啓」。

其實,你的應用程序不會在後臺運行。 Android操作系統會將其保存在內存中,或者將您的活動狀態保存到設備中(然後您可以使用onCreate方法中的savedInstanceState參數加載它)。

+0

這會在用戶掛起電話或者以其他方式離開活動時終止活動。 –

+0

@MarkGjøl,我認爲這是他想要的。然而這不是個好主意) –

+1

這也是我在OP所問的問題中所理解的。這是對這個問題的回答,但這是不好的做法。整個Android生態系統基於這樣的事實:用戶不必擔心應用程序「終止」或「從頭開始」。 – Guillaume

7

您可以使用onResume事件重新加載,或look here

編輯:

其實你需要使用這些功能來重新加載應用程序時,用戶瀏覽它。您的活動 enter image description here

4

添加完成後();

此代碼將完全停止應用程序。

System.runFinalizersOnExit(true); 
System.exit(0); 
android.os.Process.killProcess(android.os.Process.myPid()); 
0

,你應該利用Intent.FLAG_ACTIVITY_CLEAR_TOP完成在活動池中的所有其他活動,並撥打第一個活動,你可以從應用程序要求退出

2

整個Android生態系統是基於事實用戶不必擔心「終止」或「從頭開始」應用程序。如果你需要每次從頭開始你的應用程序,那可能是因爲你的「臨時」任務不應該在那裏,而應該在onResume的某個地方。

如果你想得到更詳細的答案,請給我們更多的細節。