Intent是Android程序中各組件之間進(jìn)行交互的主要方式,它不僅可以指明當(dāng)前組件想要執(zhí)行的動(dòng)作,還可以在不同組件之間傳遞數(shù)據(jù),Intent一般可以被用于啟動(dòng)活動(dòng),啟動(dòng)服務(wù)以及發(fā)送廣播等場景
Android的應(yīng)用程序包含三個(gè)重要的組件:activity,service,broadcastReceiver,它們采用了一致的方式來啟動(dòng),那就是Intent
而Intent大概可以分為兩種,一種為 顯性,一種為 隱性
button.setOnClickListener(new View.OnClickListener(){ @Override public void onclick(View v){ Intent i=new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent); } })
首先構(gòu)建了一個(gè)Intent,傳入 FirstActivity.this作為上下文,傳入 SecondActivity.class作為目標(biāo)活動(dòng) 最后通過statActivity來打開,這就是 顯式Intent
button.setOnClickListener(new View.OnClickListener(){ @Override public void onclick(View v){ Intent i=new Intent("com.example.activitytest.ACTION_START"); i.addCategory("com.example.activitytest.MY_CATEGORY"); startActivity(intent); } })
相比于顯示Inten,隱式更為含蓄和委婉,指定了一系列更為抽象的action和category等信息
同時(shí)在XML文件中也應(yīng)加入category
在Intent 中只能有一個(gè)action,但是可以有多個(gè)category