Android基础Activity篇——Intent

会挽雕弓如满月,西北望,射天狼。这篇文章主要讲述Android基础Activity篇——Intent相关的知识,希望能为你提供帮助。
1.显式的Intent
  intent是用来各各活动之间切换的,还可以用来传递参数。
  项目还是使用之前创建的ActivityTest项目,这里新建一个活动SecondActivity.java,并且勾选创建second_layout.xml。
  在second_layout.xml。写入代码如下。

< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> < Button android:id="@+id/button_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 2" /> < /LinearLayout>

  AS已经自动在AndroidMainfest.xml中自动注册了该活动。
< activity android:name=".SecondActivity"> < /activity>

 
  而且也在该活动中自动引入了second_layout.xml的布局。
setContentView(R.layout.second_layout);

2.在FirstActivity中onClick()方法添加代码
Intent intent=new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent);

  使用Intent声明并用构造方法创建一个Intent对象。
  Intent()构造方法中,有两个参数。第一个是Context,即上下文,第二个是目标活动,Class类。
3.隐式Intent
  不明确指定目标活动,而是由系统自行分析,最后响应活动。
4.在AndroidMainfest.xml中添加代码
< activity android:name=".SecondActivity"> < intent-filter> < action android:name="com.example.activitytest.ACTION_START"/> < !--表示该活动可以响应--> < category android:name="android.intent.category.DEFAULT"/> < !--设置类型为默认--> < /intent-filter> < /activity>

5.修改FirstActivity中按钮的点击事件
Intent intent=new Intent("com.example.activitytest.ACTION_START");

  注意这里Intent构造方法传参的是一个action字符串。
  注意:每一个Intet对象只能有一个action,但是可以有多个category。
intent.addCategory("com.example.activitytest.MY_CATEGORY"); //通过此方法添加category

注意:只有当action与category都是匹配的,活动才能响应。如果不是程序会崩溃的。
【Android基础Activity篇——Intent】 


    推荐阅读