IntentFilter的匹配规则
来源:互联网 发布:2016年网络购物数据 编辑:程序博客网 时间:2024/04/27 22:00
启动Activity有两种方式,显示和隐式调用。
显示调用需要明确地指定调用对象的组件信息,包括包名和类名。
隐式调用需要匹配AndroidManifest文件中的IntentFilter规则,IntentFilter由action,category,data组成。
1)如果IntentFilter匹配规则中出现了action,那么就必须使用setAction方法设置intent的action。
2)对于category可以不用调用addCategory来设置category,但是如果一旦调用了addCategory就必须与IntentFilter中的某一个category匹配,否则会
报找不到组件(Activty)的错误。之所以不需要addCategory也能找到组件,是因为系统会默认为Intent加上“android.intent.category.DEFAULT”。因此为了
能够隐式调用成功,必须在manifest文件的IntentFilter匹规则中添加<category android:name="android.intent.category.DEFAULT"/>,否则,即使调用了
addCategory,也无法找到组件
3)data的匹配规则和action类似,data是由URI和mimeType组成。需要注意的是如果没有在manifest文件中显示添加URI(例如<data android:scheme="http" android:host="www.baidu.com" />),需用会默认添加content或file。所以如果在IntentFilter的匹配规则中出现了data,即使没有URI,(例如 <data android:mimeType="text/plain"/>),那么在调用的地方也需要使用setDataAndType(Uri.parse("content://abc", "text/plain"))
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter 的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- intentfilter的匹配规则
- IntentFilter的匹配规则
- IntentFilter的匹配规则
- UVa 1078 Steam Roller
- XAMPP+TestLink安装步骤
- 软件测试常用术语
- BZOJ [BeiJing2006]狼抓兔子 【网络流】
- 打印九九乘法表
- IntentFilter的匹配规则
- PCA提取特征脸(vs2013+opencv249)
- HDU 3973 AC's String(hash+线段树)
- HDU1754 - I Hate It (基础线段树)
- Trump成功笔记2
- Java类加载及变量初始化过程
- 使用PHPstorm连接svn问题记录(4):svn commit(简写:svn ci)svn: E205007
- iOS-UIScreen,UIView,UIWindow和UIViewController的介绍和区别
- HDU5443 - The Water Problem (线段树)