您的位置:首页 > 移动开发 > Android开发

android开发,Intent的使用

2015-03-11 15:20 260 查看
1.显式intent

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
//创建意图对象,参数为上下文和目标,两个参数,明确intent的指示方向,为显示
startActivity(intent);


2.隐式intent

隐式intent的使用,其构造方法只使用了一个参数,传递的是action的内容。而action则被定义在了AndroidManifest.xml的intent-filter中。

xml代码

<intent-filter>
<action android:name="com.example.activitytest.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.example.activitytest.MY_CATEGORY"/>
</intent-filter>

几点说明
a.action描述当前活动可以响应com.example.activitytest.ACTION_START这个活动
b.category描述附加信息,更精确的指明了当前的活动能够响应的intent还可能带有的category
c.只有<aciton>和<category>同时匹配intent指定的action和category时,才能响应该intent
d.category默认为default,在没有专门提出的情况下,不用匹配category
e.可以声明多个category,如上.
f.必须action和category同时匹配才能正常使用跳转到的相应的activity

java代码

Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
或者
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);


我对隐式intent的理解

隐式intent不会直接说我要跳转去哪个activity,而是先表达一个意向,比如,我想去大概什么样的activity,大概一词是隐式与显示的核心区别。隐式intent说,我想要一个能够干嘛,干嘛的activity,而这时候,有这些干嘛,干嘛的activity中的intent-filter会与隐式intent进行匹配,这样一来,隐式的intent就可以去他想要的activity了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: