2011-04-21 171 views
1

我有一個啓動多個線程和一個doInBackground方法的活動。 當我啓動它工作正常。如何恢復應用程序狀態

但是每當我按下模擬器的後退按鈕,然後再次雙擊此應用程序時,它會創建應用程序的新實例,而不是恢復它現在的位置。

我已經搜查了和閱讀有關onRetainNonConfigurationInstance() 但如何返回實例關閉所有線程和doInBackground方法

希望有人會明白我的問題,做什麼其實我。

回答

3

我想你應該在應用程序再次運行時恢復狀態。對於這一點,你必須得到返回鍵事件

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_BACK) 
    { 
     moveTaskToBack(true); 
    } 
    return true; 
} 

希望這將幫助你...

+0

感謝,這個代碼可以幫助我 – Karan 2011-04-22 06:53:27

0

默認情況下,按回自動finish您的活動(假設它是最上面的活動)。從您的描述中,不清楚您希望應用程序從何處恢復。

0

按照我的理解

您的線程可能未終止。 你可以在DDMS中檢查你的線程是否真的在運行,它並沒有停止。 你的線程是否獲得任何鎖定而不釋放。 如果可能的話,你能否更清楚地解釋你的問題?