学习笔记3: IntentFilter的匹配规则
2015-12-29 10:40
465 查看
1.启动Activity分为两种:
显式调用:
Intent intent=new Intent(MainActivity.this, SecondActivity.class);startActivity(intent);
隐式调用:
Intent intent = new Intent();intent.setAction("testActivity");
intent.addCategory("test");
startActivity(intent);
mainfest:
<activity
android:name="com.example.mytest.TestActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="testActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="test" />
</intent-filter>
</activity>
2.匹配规则
1.只有Intent同时匹配action,category,data 才算完全匹配,才能启动目标Activity2.如果在mainfest里面有多个 <intent-filter>,intent 只需要匹配一个就能成功启动
3.action匹配规则: intent中的action
能够和 <intent-filter> 中的任何一个action完全相同(大小写也要一样),才匹配成功
4.category匹配规则:intent中所有的category
都必须和<intent-filter>中的任何一个category 完全相同,才匹配成功
5.data匹配规则:好像好复杂, 看这贴: intent-filter 之 data
3.注意
1.如果要采用隐显调用,category 都必须写上<category android:name="android.intent.category.DEFAULT" />
2.这一组 action 和 category 比较重要,二者的共同作用是用来标明这是一个入口Activity,缺少一个就没有意义了
相关文章推荐
- 黑马程序员——Java高新技术_反射
- 黑马程序员——Java基础之GUI
- 黑马程序员——Java基础之集合框架
- 黑马程序员——Java基础之String类、基本数据类型包装类
- 黑马程序员——Java基础之多线程
- 黑马程序员 ——Java基础之内部类、异常、包
- 黑马程序员 ——Java基础之继承、抽象、接口、多态
- 黑马程序员 Java基础语法之变量与数据类型
- 黑马程序员 Java基础之环境变量的配置
- 黑马程序员—C学习笔记—取余和除法运算符、自动和强制类型转换
- 黑马程序员—C学习笔记—左移和右移实现二进制转换(以及BUG解决心得)
- 黑马程序员—C学习笔记—三种方法实现两数交换
- 黑马程序员—C学习笔记—数组的求最大值和反转
- 黑马程序员—C学习笔记—结构体变量五种定义方式与指针结构体数组探究
- 学习笔记2: Activity的启动模式
- MATLAB基础视频自学笔记
- Python学习笔记04 模块
- Python学习笔记03 控制流语句和函数
- Python学习笔记01 从零开始Hello world
- AndEngine自学笔记(1)搭建环境+新建工程