在activity中調用 moveTaskToBack (boolean nonRoot)方法即可將activity 退到后臺,注意不是finish()退出。
參數為false代表只有當前activity是task根,指應用啟動(dòng)的第一個(gè)activity時(shí),才有效;
如果為true則忽略這個(gè)限制,任何activity都可以有效。
moveTaskToBack調用后,task中activity的順序不會(huì )發(fā)生變化,例如A啟動(dòng)B,B中調用此方法退到后臺,重新啟動(dòng)應用會(huì )調用B中的onRestart-onStart-onResume方法,不會(huì )重新調用onCreate,而且在B中按下back鍵返回的還是A,這就是退到后臺的功能。
另外在activity中按下back鍵,實(shí)際是調用了finish方法,應用退出。雖然應用已經(jīng)退出,但進(jìn)程沒(méi)有被殺死,android中一個(gè)應用運行于獨立的一個(gè)虛擬機實(shí)例中,所以在重新啟動(dòng)應用時(shí)一個(gè)類(lèi)中的靜態(tài)對象還保持著(zhù)運行時(shí)的狀態(tài),注意在合適位置復位這些狀態(tài)。
關(guān)于moveTaskToBack 方法,官方API解釋如下:
Move the task containing this activity to the back of the activity stack. The activity's order within the task is unchanged.
聯(lián)系客服