Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送光比等场景。可以通过Intent从一个活动跳转到另外一个活动,实现活动和活动之间的交换。
一、显式Intent
Button button3 = (Button) findViewById(R.id.button3); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //第一个参数为启动活动的上下文,第二个为需要启动的目标活动 Intent intent = new Intent(Main2Activity.this,Main23Activity.class); startActivity(intent);//启动目标活动 } });
二、隐式Intent
在配置文件AndroidManifest.xml中,配置一些activity的参数,通过这些行为参数来让Android来判断是否启动这个活动。需要同时满足这些条件才会激活这个活动。category是可以添加多个的。
<activity android:name=".Main23Activity"> <intent-filter> <action android:name="group.chicai.study.ACTION_START"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> </activity>
Button button4 = (Button) findViewById(R.id.button4); button4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent("group.chicai.study.ACTION_START"); intent.addCategory("android.intent.category.DEFAULT"); startActivity(intent); } });