From: http://blog.csdn.net/cool_ping/article/details/8237995
在activity中調用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到背景,注意不是finish()退出。
參數為false代表隻有目前activity是task根,指應用啟動的第一個activity時,才有效;
如果為true則忽略這個限制,任何activity都可以有效。
moveTaskToBack調用後,task中activity的順序不會發生變化,例如A啟動B,B中調用此方法退到背景,重新啟動應用會調用B中的onRestart-onStart-onResume方法,不會重新調用onCreate,而且在B中按下back鍵傳回的還是A,這就是退到背景的功能。
另外在activity中按下back鍵,實際是調用了finish方法,應用退出。雖然應用已經退出,但程序沒有被殺死,android中一個應用運作于獨立的一個虛拟機執行個體中,是以在重新啟動應用時一個類中的靜态對象還保持着運作時的狀态,注意在合适位置複位這些狀态。
關于moveTaskToBack 方法,官方API解釋如下:
public boolean moveTaskToBack (boolean nonRoot)
Since: API Level 1
Move the task containing this activity to the back of the activity stack. The activity's order within the task is unchanged.
Parameters
nonRoot | If false then this only works if the activity is the root of a task; if true it will work for any activity in a task. |
---|
Returns
- If the task was moved (or it was already at the back) true is returned, else false.