Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。
Intent主要有以下四个重要属性,它们分别为:
Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作。通过setAction()方法或在清单文件AndroidManifest.xml中设置。默认为:DEFAULT。
Data:Data通常是URI格式定义的操作数据。例如:tel:// 。通过setData()方法设置。
Category:Category属性用于指定当前动作(Action)被执行的环境。通过addCategory()方法或在清单文件AndroidManifest.xml中设置。默认为:CATEGORY_DEFAULT。
Extras:Extras属性主要用于传递目标组件所需要的额外的数据。通过putExtras()方法设置。
四个属性各自的常用值如下所示:
Action:
ACTION_MAIN:Android Application的入口,每个Android应用必须且只能包含一个此类型的Action声明。
ACTION_VIEW:系统根据不同的Data类型,通过已注册的对应Application显示数据。
ACTION_EDIT:系统根据不同的Data类型,通过已注册的对应Application编辑示数据。
ACTION_DIAL:打开系统默认的拨号程序,如果Data中设置了电话号码,则自动在拨号程序中输入此号码。
ACTION_CALL:直接呼叫Data中所带的号码。
ACTION_ANSWER:接听来电。
ACTION_SEND:由用户指定发送方式进行数据发送操作。
ACTION_SENDTO:系统根据不同的Data类型,通过已注册的对应Application进行数据发送操作。
ACTION_BOOT_COMPLETED:Android系统在启动完毕后发出带有此Action的广播(Broadcast)。
ACTION_TIME_CHANGED:Android系统的时间发生改变后发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_ADDED:Android系统安装了新的Application之后发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_CHANGED:Android系统中已存在的Application发生改变之后(如应用更新操作)发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_REMOVED:卸载了Android系统已存在的Application之后发出带有此Action的广播(Broadcast)。
Category:
CATEGORY_DEFAULT:Android系统中默认的执行方式,按照普通Activity的执行方式执行。
CATEGORY_HOME:设置该组件为Home Activity。
CATEGORY_PREFERENCE:设置该组件为Preference。
CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用。
CATEGORY_BROWSABLE:设置该组件可以使用浏览器启动。
CATEGORY_GADGET:设置该组件可以内嵌到另外的Activity中。
Extras:
EXTRA_BCC:存放邮件密送人地址的字符串数组。
EXTRA_CC:存放邮件抄送人地址的字符串数组。
EXTRA_EMAIL:存放邮件地址的字符串数组。
EXTRA_SUBJECT:存放邮件主题字符串。
EXTRA_TEXT:存放邮件内容。
EXTRA_KEY_EVENT:以KeyEvent对象方式存放触发Intent的按键。
EXTRA_PHONE_NUMBER:存放调用ACTION_CALL时的电话号码。
Data:
tel://:号码数据格式,后跟电话号码。
mailto://:邮件数据格式,后跟邮件收件人地址。
smsto://:短息数据格式,后跟短信接收号码。
content://:内容数据格式,后跟需要读取的内容。
file://:文件数据格式,后跟文件路径。
market://search?q=pname:pkgname:市场数据格式,在Google Market里搜索包名为pkgname的应用。
geo://latitude, longitude:经纬数据格式,在地图上显示经纬度所指定的位置。
地址:http://www.cnblogs.com/wisekingokok/archive/2011/08/22/2149847.html
相关推荐
在Android操作系统中,Intent是四大核心组件(Activity、Service、BroadcastReceiver、ContentProvider)之间通信的重要桥梁,也是应用程序中启动活动、启动服务、传递数据的关键工具。本篇将深入探讨Intent的基本...
2. 隐式Intent:不指定具体的目标组件,而是通过设置Action、Category、Data等属性,让系统根据这些属性自动匹配合适的接收者。这种方式常用于跨应用的组件交互,例如启动一个能处理特定类型文件的应用。 二、...
当系统接收到一个隐式Intent时,会遍历Manifest.xml文件中所有声明的Intent Filter,找到匹配Action、Data和Category的组件。匹配成功后,该组件就会被调用执行相应操作。 4. **启动Activity**: Intent常用于...
标题与描述均指向了“Android各组件详解——Intent”,这一主题深入探讨了Android开发中至关重要的Intent组件。本文将从多个角度解析Intent的功能、应用场景及其内部结构,为开发者提供全面的理解。 ### Intent概述...
5. Intent Filter:为了让其他应用能识别隐式Intent,目标Activity需要在清单文件(AndroidManifest.xml)中定义Intent Filter,声明它能处理的Action、Data、Category等。 ```xml <intent-filter> <action ...
在Android开发中,Intent是一种非常重要的机制,用于在应用程序组件之间进行通信,它可以用来启动其他组件,如Activity、...在开发过程中,合理使用Intent和IntentAction可以极大地提高应用程序的功能性和用户体验。
- 隐式Intent:不指定具体组件,而是通过Action、Data、Category等属性来描述要执行的操作,其他应用可以注册对应的接收者来响应这个Intent,常用于跨应用通信。 2. **Intent的构造与属性** 创建Intent时,通常...
显式Intent 直接指定要启动的组件类名,而隐式Intent 则通过定义动作(Action)、数据(Data)、类别(Category)和额外数据(Extras)来广播意图,任何能匹配这些条件的组件都可以响应。 在"Intent_DataSample"中...
在Android开发中,Intent是一个至关重要的概念,它用于在应用程序的不同组件之间传递消息,实现组件间的通信。Intent主要包含三个核心部分:Action、Data和Extras,以及可选的Component。 1. Action(动作) ...
在Android开发中,Intent是应用程序之间...同时,配合其他Intent属性如Category、Data和Extras,可以实现更复杂的交互和数据传递。在实际开发中,不断实践和学习这些知识,能帮助开发者构建出更加灵活和丰富的应用。
- **隐式Intent**:不指定具体组件,而是通过action、category、data等属性定义一个抽象的操作。系统会根据这些属性匹配最适合的组件来响应Intent。隐式Intent鼓励组件间的解耦合,更利于系统发现并调用合适的服务...
显式Intent通过指定组件的全名(包括包名和类名)来直接启动目标组件,而隐式Intent则是通过设置Action、Data、Category等元数据来匹配能够处理该Intent的组件。 1. 显式Intent的使用: 在创建显式Intent时,我们...
而隐式Intent则是不指定具体组件,而是通过Action、Data、Category等元数据来匹配系统中能够处理该Intent的组件。 1. 显式Intent的使用: - 创建Intent实例:`Intent intent = new Intent(context, TargetActivity...
Intent还有其他重要的属性,如Category(类别)、Extras(额外数据)和Component(组件)。Category可以进一步细化Intent的类型,如CATEGORY_DEFAULT表示默认行为。Extras用于附加任意键值对数据。Component属性允许...
2. 隐式Intent:不指定特定组件,而是根据Intent的动作(ACTION)、数据(DATA)、类别(CATEGORY)等属性来匹配能够处理Intent的组件。这允许不同应用之间的交互,例如启动一个能处理特定类型的文件的应用。 ...
若希望其他应用能够处理特定Intent,可以不指定具体Activity,而是设置Intent的Action、Data、Category等属性。 ```java Intent intent = new Intent(); intent.setAction("com.example.ACTION_NAME"); intent....
在Android应用开发中,Intent是一个至关重要的概念,它充当了应用程序组件之间通信的桥梁。Intent不仅用于启动新的活动(Activity)或服务(Service),还能在组件间传递数据。本资料"Android应用源码之Intent.zip...
Intent-Filters包括了Action、Data、Category等元素,当一个隐式Intent被广播时,系统会根据Intent中的这些属性匹配声明了对应Intent-Filters的组件。 1. **<action>**:声明组件可以处理的Action,使得组件能够...
Intent包含了操作的行动(Action)、数据(Data)、类别(Category)和额外数据(Extras)等信息,这些信息定义了Intent的目标和执行的上下文。 二、Intent的类型 1. 显式Intent:明确指定了要启动的组件(Activity...