1、在MainActivity.java中“从XML布局文件中创建3个按钮对象”,“并设置3个按钮的单击事件”
针对着“显式调用Activity","隐式调用Activity","隐式调用两个符合条件的Activity"
在MainActivity.java中”点击事件“对应的语句:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=null;
switch(v.getId()){
case R.id.button1: //显式调用MyActivity1
intent=new Intent(this, MyActivity1.class);
startActivity(intent);
break;
case R.id.button2: //隐式调用MyActivity2
intent=new Intent("myaction1");
startActivity(intent);
break;
case R.id.button3: //隐式调用MyActivity2与MyActivity3(注意与上面的区别)
intent=new Intent("myaction2");
intent.addCategory("mycategory");
startActivity(intent);
break;
}
}
2、在AndroidMainfest.xml中对新建的三个Activity分别进行注册
(1)对”显式调用MyActivity1"进行的配置
<activity
android:name=".MyActivity1" android:label="MyActivity1">
</activity>
(2)对“隐式调用MyActivity2"进行配置,并”两个<intent-filter>"的使用是为了实现”隐式调用两个符合过滤条件的Activity“
<activity
android:name=".MyActivity2" android:label="MyActivity2"
android:icon="@drawable/ic_launcher">
<intent-filter>
<action android:name="myaction1"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<!-- The follow intent_filter is same with Activity3 -->
<intent-filter>
<action android:name="myaction2"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="mycategory"/>
</intent-filter>
</activity>
(3)对”隐式调用MyActivity2与MyActivity3"中的MyActivity3进行配置
<activity
android:name=".MyActivity3" android:label="MyActivity3"
android:icon="@drawable/ic_launcher">
<intent-filter>
<action android:name="myaction2"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="mycategory"/>
</intent-filter>
</activity>
注:在AndroidManifest.xml进行配置的相关条件是与在“intent=new Intent("myaction1")"并”intent.addCategory("mycategory")中设置的相对应的。