2011-05-01 38 views
0

如何從代碼中完全殺死應用程序?Android 2.2 SDK完全殺死應用程序

我知道這是可能的,因爲當你點擊從憤怒的小鳥的退出按鈕,然後檢查android任務殺手的事情,它已經沒有了......但我無法得到我自己的應用程序來做到這一點= /它仍然掛起各地和保存的是最後state..which我不想

我曾試圖與沒有成功:

@Override 
public void onBackPressed() 
{ 
    // do something on back. 
    this.finish(); 
    return; 
} 

感謝這個

+4

請查看[this](http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238#2034238)帖子,瞭解爲什麼強制關閉的徹底和深思熟慮的回覆一般來說,不是你想做的事。你有這樣做的理由嗎? – 2011-05-01 02:32:08

+0

爲什麼我不會?爲什麼我不應該在應該終止的時候告訴我的應用程序?^_- @迴應:蘭頓。沒有一個有效的事實。 – bitwise 2011-05-01 04:14:06

回答

3

做你想要什麼,只需調用System.exit(0) 。強烈建議你不要這樣做。

+0

這是我不想提供的解決方案,因爲它不被推薦,至少你提到了:) – MByD 2011-05-01 04:44:32

+3

請注意,調用System.exit(0)將無法按預期工作(將生成一個新進程)如果存在是任何其他正在運行的服務或活動。在這種情況下,您應該先完成其他組件。 – 2011-05-01 07:02:12

+1

@MByD不建議這樣做,但隱藏信息無濟於事。如果尼克想寫一個行爲不好的應用程序,那是他的選擇。 – 2011-05-01 17:53:49

0

任何幫助FYI結束碼不刪對象本身。它只是在刪除前需要清理對象時才運行。邏輯刪除=>調用完成(),因此相反不需要爲真(在這種情況下不是)。

我懷疑你正在尋找的應該實際上應該在android清單中指定,它可能是android:noHist option

+0

我嘗試了noHist選項,但該應用程序仍然沒有終止並重置=/ – bitwise 2011-05-01 03:58:37

0

你不能以合法的方式完全殺死你的應用程序,這有一些黑客,但基本上沒有。 Android會決定何時殺死您的應用。

我認爲這個鏈接將幫助您做最,並得到你想要的東西,但是這不會殺死您的應用程序:http://smartandroidians.blogspot.com/2010/01/exiting-android-application.html

+0

那麼憤怒的小鳥如何終止它的行爲呢?是因爲它足夠大的內存讓操作系統決定刪除它嗎?因爲您可以在手機上點擊主頁按鈕而不起作用,但退出按鈕會導致應用程序終止並被完全銷燬。 – bitwise 2011-05-01 03:09:28

+0

我認爲我分享的鏈接可以幫助您理解這一點。我實現了一個真正殺死自己的應用,但這是一個非常具體的用途,而不是分發。如果您只是想下次參加主要活動,請查看我分享的鏈接。 – MByD 2011-05-01 03:12:35

+0

當然你可以,只需調用System.exit(0)。 – 2011-05-01 03:43:50