Intent主要包含Componet name、Action、category、data、type、Extras以及flag。
- Componet name
启动一个组件最直接的方式就是通过Componet name,也就是组件名称,它是一个ComponentName对象,指定组件可以通过一下几种方式:
其实下面的三种方式,最后调用的还是 setComponent(ComponentName)方法 。例如启动一个activity:
intent.setComponent(new ComponentName("com.hs","ActivityA")); startActivity(intent);
- Action
Action是一个普通的字符串,他代表Intent要完成的一个抽象动作,这个动作具体有哪个组件完成,action字符串本身并不关心。例如Android提供的标准Action:Intent.ACTION_VIEW,它只代表一个抽象的查看动作,但是具体查看什么,启动哪个activity来查看,它是并不知道的,还必须需要其他附加信息来决定,例如category等。但是有一点,那就是只要activity的<Intent-filter>中包含这个action,这个activity就可能启动。
给intent设置action的方法为 setAction()
。
需要说明的是,在Android系统本身定义了许多标准的action,具体参看http://developer.android.com/reference/android/content/Intent.html
- category
category也是一个字符串,他为action增加额外的附加信息,例如 CATEGORY_LAUNCHER,证明这是一个Launcher。
系统也有许多标准定义的category,请参考http://developer.android.com/reference/android/content/Intent.html
- data
data是指提供的操作数据,例如电话联系人数据等。他的访问方式是通过URI对象来访问。例如:content://contacts/people/1
- type
type指的是data数据的数据类型或者MIME类型。一般情况下可以通过数据来推断出类型。一般情况下,data和type只要设置一个就可以了,设置data通过setData(). 设置MIME 类型,使用setType(), 如果要两个都设置,你可以使用 setDataAndType()
.
- Extras
这是一个额外的信息。这可以用于为组件提供扩展的信息。例如,如果我们有一个行动,发送电子邮件,我们还可以包括额外的数据块来供给主体,主体,等。使用方法putExtra(String, Bundle).
- flag
http://developer.android.com/reference/android/content/Intent.html#setFlags(int)
更多内容查看http://developer.android.com/guide/components/intents-filters.html
相关推荐
在Android开发中,Intent和Intent Filters是两个至关重要的概念,它们是应用程序之间通信的主要桥梁,也是实现外部调用的关键机制。下面将详细讲解Intent和Intent Filters的工作原理以及如何使用它们来实现外部调用...
本教程将深入讲解Intent和Intent Filters,特别是如何利用它们进行数据检测。 在Intent Filter中,`<data>`标签用于定义Intent可以携带的数据类型和URI。例如,以下是一个简单的Intent Filter配置: ```xml ...
总的来说,Intent和Intent-Filters是Android组件间通信的关键机制,理解并熟练掌握它们对于开发高效、灵活的应用至关重要。通过定义Intent-Filters,开发者可以让组件响应各种Intent,从而实现丰富的交互和功能扩展...
Android Intents and Intent Filters(一) 对应博客地址:http://blog.csdn.net/michael__li/article/details/6947545
系统根据Intent的属性和Intent Filters的定义,选择最适合的组件来处理Intent。这一机制确保了应用间通信的准确性和效率,是Android生态系统互联互通的基础。 通过深入理解Intents与Intent Filters的工作机制,...
【Android Intent和Intent Filter详解】 Intent是Android系统中用于组件间通信的重要机制,它描述了想要执行的操作和可能涉及的数据。Intent对象包含了组件信息、动作(Action)、数据(Data)、类别(Category)...
内含四个pdf文件,分别为 Intent and Intent-filter Intents and Intent Filters理论英文 Intents and Intent Filters理论中文 Intent入门指南 详尽介绍关于android intent
而`Intent Filters`则确保了组件之间的通信更加安全和精确,避免了不必要的组件调用。掌握这两项技术对于任何Android开发者来说都是至关重要的,它不仅能够提升应用程序的功能性,还能增强用户体验。
Android Intents and Intent Filters(二)源代码 对应博客 http://blog.csdn.net/michael__li/article/details/6950127
#### 五、Intent和Intent Filters 意图和意图过滤器 这部分重点讲解了Intent的使用以及如何通过Intent Filters来匹配和筛选意图。Intent Filters是定义在AndroidManifest.xml文件中的,用于指定一个组件能够响应...
3. **Intent和Intent Filters**:在Android应用中,Intent用于启动其他组件或传递信息。在联系人应用中,我们可以使用`ACTION_PICK_CONTACT`或`ACTION_INSERT`等预定义Intent来选择或创建新的联系人。 4. **...
9. **Intent和Intent Filters**:Android中用于应用程序间通信的主要工具,用于启动活动、服务或广播接收器。 10. **Service**:在后台运行的组件,可以长时间执行操作,即使用户离开应用程序。 11. **...
6. **Intent Filters**:在AndroidManifest.xml中,通过intent-filter标签定义组件能响应哪些Intent,包括Action、Category和Data,使得其他应用可以通过隐式Intent调用组件。 7. **startActivity()** 和 **...
5. **IntentFilters**: 在AndroidManifest.xml文件中,开发者可能定义了Intent Filters,以便于隐式Intent可以找到相应的组件进行处理。例如,定义一个ACTION_VIEW Intent Filter可以让其他应用共享数据时调用你的...
通过配置Intent Filters和发送Intents,可以灵活地控制哪些Activity可以在Tab之间切换,并且通过自定义图标增强了用户体验。这种做法不仅适用于简单的应用,也可以扩展到更复杂的应用场景中。希望本章节的内容对您的...
**Intent过滤器(Intent Filters)** 由于Intent并没有明确指定目标组件,Android系统依赖Intent过滤器(Intent Filter)来决定哪个组件应该接收特定的Intent。Intent过滤器在AndroidManifest.xml文件中定义,它们描述...
深入理解Intent,推荐学习官方文档(https://developer.android.com/guide/components/intents-filters),以及各种Android开发教程,例如Android Developers(https://developer.android.com/studio)。...