1 方法:public boolean moveTaskToBack(boolean nonRoot) activity里有這個方法,參數說明如下: nonRoot=false→ 僅當activity為task根(即首個activity例如啟動activity之類的)時才生效 nonRoot=tru ...
1
方法:public boolean moveTaskToBack(boolean nonRoot)
activity里有這個方法,參數說明如下:
nonRoot=false→ 僅當activity為task根(即首個activity例如啟動activity之類的)時才生效
nonRoot=true→ 忽略上面的限制
這個方法不會改變task中的activity中的順序,效果基本等同於home鍵
應用場景:
比如有些activity諸如引導圖之類的,用戶在按返回鍵的時候你並不希望退出(預設就finish了),而是只希望置後臺,就可以調這個方法
2
moveTaskToBack()方法:在activity中調用 moveTaskToBack (boolean
nonRoot)方法即可將activity 退到後臺,註意不是finish()退出。
參數說明:
參數為false——代表只有當前activity是task根,指應用啟動的第一個activity時,才有效;
參數為true——則忽略這個限制,任何activity都可以有效。
說明:判斷Activity是否是task根,Activity本身給出了相關方法:isTaskRoot()
moveTaskToBack調用後,task中activity的順序不會發生變化,例如A啟動B,B中調用此方法退到後臺,重新啟動應用會調用B中的onRestart-onStart-onResume方法,不會重新調用onCreate,而且在B中按下back鍵返回的還是A,這就是退到後臺的功能。
3
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); }