關(guān)于Android中Activity類(生命周期的回調(diào)方法、顯式Intent和隱式Intent)
1.Android中Activity的生命周期主要包含哪些回調(diào)方法,這些回調(diào)方法一般在何時(shí)被回調(diào)。
onCreate() 創(chuàng)建Activity
onStart() 啟動(dòng)Activity,即當(dāng)一個(gè)Activity顯示時(shí)
onResume() Activity由暫停狀態(tài)恢復(fù)為活動(dòng)狀態(tài)時(shí)被調(diào)動(dòng)
onPause () 暫停Activity時(shí)
onStop() 停止Activity時(shí)
onDestroy() 摧毀Activity時(shí)
onRestart () 重新啟動(dòng)Activity時(shí),并且總是在onStart()方法之后被執(zhí)行
2.假如從FirstActivity中啟動(dòng)SecondActivity,用顯式Intent實(shí)現(xiàn)主要包含哪些語(yǔ)句。
//Explicit Intent by specifying its class name
Intent i = new Intent (FirstActivity.this, SecondActivity.class);
i.putExtra("key1","ABC");
i.putExtra("key2","123");
//Starts TargetActivity
startActivity(i);
(補(bǔ)充:explicit–排除,specify–具體說(shuō)明)
3.一個(gè)隱式Intent可以通過(guò)多個(gè)Activity的<intent-filter>標(biāo)簽,系統(tǒng)一般如何決定調(diào)用哪一個(gè)Activity?
(1) 若包含1個(gè)或多個(gè)<action.../>子標(biāo)簽,系統(tǒng)會(huì)自動(dòng)選擇最合適的動(dòng)作來(lái)調(diào)用Activity
(2) 若包含0個(gè)、1個(gè)或多個(gè)<catagory.../>子標(biāo)簽。0個(gè)表示總能通過(guò),1個(gè)或多個(gè)表示Intent類別必須和每一種類別相匹配才能通過(guò)測(cè)試。
(3) 若包含0個(gè)或1個(gè)<data.../>子標(biāo)簽,每個(gè)<data.../>子標(biāo)簽可以指定URI和數(shù)據(jù)類型(MIME媒體類型)。Intent對(duì)象的URI和數(shù)據(jù)類型兩部分都要和過(guò)濾器的URI和數(shù)據(jù)類型相匹配才能通過(guò)測(cè)試。