- 浏览: 1564722 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (673)
- Linux (3)
- android (302)
- php (12)
- struts2 (1)
- Flex积累 (88)
- Hibernate (8)
- MyEclipse (18)
- android备忘录 (209)
- Java备忘录 (53)
- spring (0)
- Flex备忘录 (30)
- JavaScript (10)
- Tomcat (11)
- Flex FrameWork (0)
- 设计模式学习 (4)
- 休闲娱乐 (4)
- Flex skin (1)
- Flex 组件 (2)
- 持久化相关 (2)
- DotNet相关 (5)
- Flex Style (1)
- Windows (11)
- Flex AIR (9)
- MySQL (1)
- mac OSX (29)
- eclipse (26)
- database (5)
- ARM (1)
- English (1)
- WebService (8)
- javabase64 (2)
- ruby (1)
- sqlite (5)
- ios (7)
- 无线应用 (1)
- Java (3)
- goagent (1)
- oc (1)
最新评论
-
Z_ying:
谢谢分享,上次也遇到过的,解决了,过了一段时间又忘记,幸亏看到 ...
FastJson 示例 及问题 -
wto8559:
这是什么错啊,我也遇到了.问下写一个servlet能解决什么问 ...
Exception in thread "HouseKeeper" java.lang.NullPointerException -
zxjlwt:
如何用php怎么弄了。http://surenpi.com
\U672a\U77e5\U9519\U8bef 字符还原 -
windseamless:
那怎么样才能屏蔽呢
java.lang.IllegalArgumentException: Window type can not be changed after the -
macleo:
Trinea 写道还是利用Fiddler抓包更方便,(1)无需 ...
android网络抓包相关
隐式Intent理解
http://www.cnblogs.com/xirihanlin/archive/2009/07/31/1535609.html
http://blog.csdn.net/shmily_yang/article/details/5283694
http://hi.baidu.com/lfcaolibin/blog/item/87e66424c02f986b34a80f20.html
Android Intent Filter简单使用
http://bigcat.easymorse.com/?p=1454
http://blog.csdn.net/fenghome/article/details/5777855
http://blog.csdn.net/henanchina/article/details/5053691
什么是Intent
http://book.51cto.com/art/200908/142683.htm
定制android启动界面
http://blog.chinaunix.net/space.php?uid=20355083&do=blog&id=1963979
IntentFilter学习
http://www.apkbus.com/android-17556-1-1.html
http://www.cnblogs.com/Android_2011/archive/2011/06/12/2078643.html
http://www.cnblogs.com/xirihanlin/archive/2009/07/31/1535609.html
http://blog.csdn.net/shmily_yang/article/details/5283694
http://hi.baidu.com/lfcaolibin/blog/item/87e66424c02f986b34a80f20.html
Android Intent Filter简单使用
http://bigcat.easymorse.com/?p=1454
http://blog.csdn.net/fenghome/article/details/5777855
http://blog.csdn.net/henanchina/article/details/5053691
什么是Intent
http://book.51cto.com/art/200908/142683.htm
定制android启动界面
http://blog.chinaunix.net/space.php?uid=20355083&do=blog&id=1963979
IntentFilter学习
http://www.apkbus.com/android-17556-1-1.html
http://www.cnblogs.com/Android_2011/archive/2011/06/12/2078643.html
引用
IntentFilter类
IntentFilter类表示Intent过滤器, 大部分情况下, 每一个component都会定义一个或多个IntentFilter, 用于表明其可处理的Intent.
一般来说, component的IntentFilter应该在AndroidManifest.xml文件中定义.
定义的方法: 在<activity>, <receiver>, <service>元素中增加一个或多个<intent-filter>子元素. 如:
<!-- 声明作为程序入口的Activity -->
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
IntentFilter与隐式Intent
android系统处理隐式Intent时, 会比较Intent和IntentFilter的action, data, category属性, 如果以上3个属性全都相符的话, 则IntentFilter所属的component就可以作为目标组件的候选(存在多个符合条件的component时).
1. 测试action属性. intent最多只能定义1个action, 而filter可以定义1个或多个action.
通过action测试的条件为: filter定义了intent的action. 例如intent的action为"android.intent.action.MAIN", 则定义了"android.intent.action.MAIN"这个action的filter都能通过action测试(当然, filter还可以包含更多额外的action).
如果filter没有定义action, 则这个filter将阻塞所有intent. 如果intent没有定义action, 那么只要filter定义了action就可以通过action测试.
2. 测试category属性. intent可以任意多个category, filter也可以任意个category. 通过category测试的条件为: filter定义了intent的所有category. 例如intent定义了"android.intent.category.DEFAULT"和"cn.xing.intent.category.UPLOAD"这2个category, 则定义了以上2个category属性的filter才能通过测试(当然, filter还可以包含更多额外的category).
根据上面的规则, 如果一个intent没有定义category, 则所有filter都可以通过category测试. 但是有一种例外: 以startActivity(intent)方式启动一个activity时, 系统为会intent增加一个值为"android.intent.category.DEFAULT"的category, 这就意味着每一个期望通过category测试的activity, 都要在其filter中定义"android.intent.category.DEFAULT"(除了作为程序入口的activity).
3. 测试data属性. intent最多只能定义1个data, filter则可以定义多个data.
通过data测试的条件为:
a. 如果intent没有指定data和data type, 则只有没有定义data和date type的filter才能通过测试;
b. 如果intent定义了data没有定义data type, 则只有定义了相同data且没有定义date type的filter才能通过测试;
c. 如果intent没有定义data却定义了data type, 则只有未定义data且定义了相同的data type的filter才能通过测试;
d. 如果intent既定义了data也定义了data type, 则只有定义了相同的data和data type的filter才能通过测试.
data属性是一个URI, URI中包含scheme, host, post和path, 典型的URI为:
scheme://host:port/path
scheme, host, post和path都是可选的. 比较2个data时, 只比较filter中包含的部分. 比如filter的一个data只是指定了scheme部分, 则测试时只是比较data的scheme部分, 只要两者的scheme部分相同, 就视为"相同的data".
IntentFilter类表示Intent过滤器, 大部分情况下, 每一个component都会定义一个或多个IntentFilter, 用于表明其可处理的Intent.
一般来说, component的IntentFilter应该在AndroidManifest.xml文件中定义.
定义的方法: 在<activity>, <receiver>, <service>元素中增加一个或多个<intent-filter>子元素. 如:
<!-- 声明作为程序入口的Activity -->
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
IntentFilter与隐式Intent
android系统处理隐式Intent时, 会比较Intent和IntentFilter的action, data, category属性, 如果以上3个属性全都相符的话, 则IntentFilter所属的component就可以作为目标组件的候选(存在多个符合条件的component时).
1. 测试action属性. intent最多只能定义1个action, 而filter可以定义1个或多个action.
通过action测试的条件为: filter定义了intent的action. 例如intent的action为"android.intent.action.MAIN", 则定义了"android.intent.action.MAIN"这个action的filter都能通过action测试(当然, filter还可以包含更多额外的action).
如果filter没有定义action, 则这个filter将阻塞所有intent. 如果intent没有定义action, 那么只要filter定义了action就可以通过action测试.
2. 测试category属性. intent可以任意多个category, filter也可以任意个category. 通过category测试的条件为: filter定义了intent的所有category. 例如intent定义了"android.intent.category.DEFAULT"和"cn.xing.intent.category.UPLOAD"这2个category, 则定义了以上2个category属性的filter才能通过测试(当然, filter还可以包含更多额外的category).
根据上面的规则, 如果一个intent没有定义category, 则所有filter都可以通过category测试. 但是有一种例外: 以startActivity(intent)方式启动一个activity时, 系统为会intent增加一个值为"android.intent.category.DEFAULT"的category, 这就意味着每一个期望通过category测试的activity, 都要在其filter中定义"android.intent.category.DEFAULT"(除了作为程序入口的activity).
3. 测试data属性. intent最多只能定义1个data, filter则可以定义多个data.
通过data测试的条件为:
a. 如果intent没有指定data和data type, 则只有没有定义data和date type的filter才能通过测试;
b. 如果intent定义了data没有定义data type, 则只有定义了相同data且没有定义date type的filter才能通过测试;
c. 如果intent没有定义data却定义了data type, 则只有未定义data且定义了相同的data type的filter才能通过测试;
d. 如果intent既定义了data也定义了data type, 则只有定义了相同的data和data type的filter才能通过测试.
data属性是一个URI, URI中包含scheme, host, post和path, 典型的URI为:
scheme://host:port/path
scheme, host, post和path都是可选的. 比较2个data时, 只比较filter中包含的部分. 比如filter的一个data只是指定了scheme部分, 则测试时只是比较data的scheme部分, 只要两者的scheme部分相同, 就视为"相同的data".
发表评论
-
Axure 教程
2013-06-15 17:44 1208http://zhj6607.blog.163.com/blo ... -
再次android 下的Caused by: java.lang.ClassNotFoundException:
2013-06-05 11:34 2366莫名其妙发生了:Caused by: java.lang.Cl ... -
android RatingBar 收集
2013-05-29 09:50 987RatingBar例子: http://www.eoeandr ... -
java 发送邮件
2013-05-28 16:17 878http://www.blogjava.net/wangfun ... -
ExecutorService 建立多线程的步骤
2013-05-26 22:18 882http://huangxiaojian9999.blog.1 ... -
android include报错解决一例
2013-05-24 13:48 1197一个layout 嵌入另外一个layout < ... -
.net 接口报错解决一例
2013-05-24 13:44 955NullReferenceException: 未将对象引用设 ... -
Overlay移动收集
2013-05-19 17:04 9111.http://changyy.pixnet.net/blo ... -
模拟器 INSTALL_FAILED_CONTAINER_ERROR
2013-05-10 00:21 1575用模拟器跑,总是报这个错。 找了一下,发现是androidma ... -
百度地图总结
2013-05-02 11:34 10721.mMapView.regMapViewListener(a ... -
baidu 2.1.1sdk 貌似有问题
2013-05-02 11:32 9ItemOverlay 哪里去了? -
EditText SetError 4.0下 不显示文字解决
2013-04-24 16:46 2046http://www.eoeandroid.com/forum ... -
短信验证
2013-04-23 15:27 942解决方案如下: http://www.eoeandroid.c ... -
根据两个经纬度计算两地距离
2013-04-23 14:56 1674com.baidu.mapapi.utils.Distance ... -
百度地图 android 线路
2013-04-22 23:39 2491最好的资料莫过于它自己提供的了 -2.管理自己的key htt ... -
android 屏幕方向总结
2013-04-17 15:23 990http://dev.wo.com.cn/docportal/ ... -
分享总结
2013-04-15 17:28 8481。http://www.umeng.com/componen ... -
sqlitemanager
2013-03-31 23:56 1074http://blog.csdn.net/jjhua/arti ... -
android adb 无法启动
2013-03-31 23:33 1570症状: adb 有运行 但是,eclipse debug模式无 ... -
android 字体样式
2013-03-20 13:17 1123http://tank03.iteye.com/blog/13 ...
相关推荐
在Android应用开发中,Intent和IntentFilter是两个至关重要的组件,它们构成了Android系统服务和组件之间通信的核心机制。本文将深入探讨Intent与IntentFilter的工作原理、使用方式以及它们在实际应用中的重要性。 ...
Intent 和 IntentFilter 是 Android 应用程序开发中的两个核心概念,它们构成了组件间通信的核心机制。Intent 可以被理解为一个信息载体,用于在不同的应用程序组件之间传递消息,而 IntentFilter 是一种声明机制,...
在Android开发中,Intent和IntentFilter是两个至关重要的概念,它们构成了Android组件间通信的核心机制。Intent作为消息载体,能够连接应用内的不同组件,如Activity、Service,甚至跨应用进行通信,实现组件级别的...
要想使用隐式 Intent 成功启动 Activity, 必须保证 Intent 中 action、category、data 的设置和要启动的 Activity 的 IntentFilter 相匹配。这是一个 Intent 和 IntentFilter 匹配规则演示的小案例。 Intent 和 ...
在Android开发中,Intent和IntentFilter是实现组件间通信的关键机制。Intent作为消息载体,能够连接不同的应用组件,包括Activity、Service、BroadcastReceiver等,使得它们可以互相传递数据和触发操作。...
在Android操作系统中,Activity和Intent是两个至关重要的概念,它们构成了Android应用交互的核心。...通过不断的实践和学习,开发者可以灵活地利用Activity和Intent实现各种复杂的应用场景,从而提升用户体验。
在这个初级学习阶段,我们将深入理解Intent的基本概念、类型以及如何使用。 一、Intent基础 Intent在Android系统中扮演着“信使”的角色,它能启动新的Activity或Service,或者向BroadcastReceiver发送广播。Intent...
【Intent学习】 Intent是Android系统中的一个核心概念,它是应用程序之间通信的重要桥梁,用于在不同的组件之间传递消息和数据。Intent不仅可以启动活动(Activity)、服务(Service),还可以启动广播接收器...
IntentFilter定义了Action、Data、Category等,当Intent与IntentFilter匹配时,组件才能接收到Intent。 总结,Intent在Android开发中起着桥梁的作用,连接起各个组件,使得组件间能够高效地通信和协作。理解并熟练...
在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者广播接收器...通过IntentDemo项目的学习,开发者可以更深入地掌握Intent的工作原理和应用场景。
总结,"Android应用源码之7.Intent初级学习.zip"的学习资料将涵盖Intent的基本概念、创建、启动、IntentFilter、Intent Resolution以及常见应用场景等,对于初学者理解Intent在Android开发中的作用和用法具有指导...
在本"安卓基本知识之Intent学习源代码"中,我们将深入探讨Intent的工作原理、类型、构造及其在实际开发中的应用。 一、Intent的基本概念 Intent是Android系统中的一个消息对象,它用来表示一个动作和动作的数据。...
在这个"android intent源码学习"的主题中,我们将深入探讨Intent的工作原理和源码实现。 首先,Intent分为显式Intent和隐式Intent。显式Intent通过指定组件的完全限定类名来直接启动目标组件,而隐式Intent则不指定...
本压缩包“7.Intent初级学习”包含了一系列关于Intent的基础知识,帮助初学者理解并掌握Intent的使用。 1. Intent的基本概念 Intent是一个对象,它封装了应用中的操作请求。通过Intent,开发者可以声明一个意图执行...
本学习资料主要围绕“Android Intent”展开,结合实例讲解如何利用Intent进行传值以及实现一个简易计算器。 1. **Intent的基本概念** - Intent是Android中的一个类,它表示一个操作的意图,用于启动Activity或...
在Android操作系统中,Intent是一种非常核心的组件,它充当了应用程序之间、组件之间通信的桥梁。...通过深入学习和实践,开发者可以更好地利用Intent来实现应用间的交互和数据传递,提升用户体验。
在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制。Intent-filter的配置对于正确地启动和接收意图至关重要。在给定的标题“Data、Type属性与Intent-filter配置”中,我们关注的重点是如何通过设置`...
在Android应用开发中,Intent是一种强大的机制,它用于在组件之间传递消息,是应用程序中不同组件(如Activity、Service、...通过实例学习和实践,开发者可以更好地掌握Intent的使用,提升应用的用户体验。