`
elya_siwei
  • 浏览: 16732 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

【转载】Intent中的四个重要属性——Action、Data、Category、Extras

 
阅读更多

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_CHANGEDAndroid系统的时间发生改变后发出带有此Action的广播(Broadcast) 

    ACTION_PACKAGE_ADDEDAndroid系统安装了新的Application之后发出带有此Action的广播(Broadcast) 

    ACTION_PACKAGE_CHANGEDAndroid系统中已存在的Application发生改变之后(如应用更新操作)发出带有此Action的广播(Broadcast) 

    ACTION_PACKAGE_REMOVED:卸载了Android系统已存在的Application之后发出带有此Action的广播(Broadcast)  

  Category:

      CATEGORY_DEFAULTAndroid系统中默认的执行方式,按照普通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_EVENTKeyEvent对象方式存放触发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

    在Android操作系统中,Intent是四大核心组件(Activity、Service、BroadcastReceiver、ContentProvider)之间通信的重要桥梁,也是应用程序中启动活动、启动服务、传递数据的关键工具。本篇将深入探讨Intent的基本...

    intent属性

    2. 隐式Intent:不指定具体的目标组件,而是通过设置Action、Category、Data等属性,让系统根据这些属性自动匹配合适的接收者。这种方式常用于跨应用的组件交互,例如启动一个能处理特定类型文件的应用。 二、...

    安卓Android源码——Intent.rar

    当系统接收到一个隐式Intent时,会遍历Manifest.xml文件中所有声明的Intent Filter,找到匹配Action、Data和Category的组件。匹配成功后,该组件就会被调用执行相应操作。 4. **启动Activity**: Intent常用于...

    android各组件详解- Intent.

    标题与描述均指向了“Android各组件详解——Intent”,这一主题深入探讨了Android开发中至关重要的Intent组件。本文将从多个角度解析Intent的功能、应用场景及其内部结构,为开发者提供全面的理解。 ### Intent概述...

    Intent——把两个Activity关联起来!

    5. Intent Filter:为了让其他应用能识别隐式Intent,目标Activity需要在清单文件(AndroidManifest.xml)中定义Intent Filter,声明它能处理的Action、Data、Category等。 ```xml <intent-filter> <action ...

    android_intent和intent_action大全

    在Android开发中,Intent是一种非常重要的机制,用于在应用程序组件之间进行通信,它可以用来启动其他组件,如Activity、...在开发过程中,合理使用Intent和IntentAction可以极大地提高应用程序的功能性和用户体验。

    Intent系统调用示例

    - 隐式Intent:不指定具体组件,而是通过Action、Data、Category等属性来描述要执行的操作,其他应用可以注册对应的接收者来响应这个Intent,常用于跨应用通信。 2. **Intent的构造与属性** 创建Intent时,通常...

    安卓Android源码——Intent_DataSample.rar

    显式Intent 直接指定要启动的组件类名,而隐式Intent 则通过定义动作(Action)、数据(Data)、类别(Category)和额外数据(Extras)来广播意图,任何能匹配这些条件的组件都可以响应。 在"Intent_DataSample"中...

    Android中的Intent详细讲解

    在Android开发中,Intent是一个至关重要的概念,它用于在应用程序的不同组件之间传递消息,实现组件间的通信。Intent主要包含三个核心部分:Action、Data和Extras,以及可选的Component。 1. Action(动作) ...

    android教程之intent的action属性使用示例(intent发短信)

    在Android开发中,Intent是应用程序之间...同时,配合其他Intent属性如Category、Data和Extras,可以实现更复杂的交互和数据传递。在实际开发中,不断实践和学习这些知识,能帮助开发者构建出更加灵活和丰富的应用。

    Android学习总结-Intent详解.doc

    - **隐式Intent**:不指定具体组件,而是通过action、category、data等属性定义一个抽象的操作。系统会根据这些属性匹配最适合的组件来响应Intent。隐式Intent鼓励组件间的解耦合,更利于系统发现并调用合适的服务...

    android中intent使用示例

    显式Intent通过指定组件的全名(包括包名和类名)来直接启动目标组件,而隐式Intent则是通过设置Action、Data、Category等元数据来匹配能够处理该Intent的组件。 1. 显式Intent的使用: 在创建显式Intent时,我们...

    android Intent的用法

    而隐式Intent则是不指定具体组件,而是通过Action、Data、Category等元数据来匹配系统中能够处理该Intent的组件。 1. 显式Intent的使用: - 创建Intent实例:`Intent intent = new Intent(context, TargetActivity...

    intent使用源码

    Intent还有其他重要的属性,如Category(类别)、Extras(额外数据)和Component(组件)。Category可以进一步细化Intent的类型,如CATEGORY_DEFAULT表示默认行为。Extras用于附加任意键值对数据。Component属性允许...

    Android中intent的使用

    2. 隐式Intent:不指定特定组件,而是根据Intent的动作(ACTION)、数据(DATA)、类别(CATEGORY)等属性来匹配能够处理Intent的组件。这允许不同应用之间的交互,例如启动一个能处理特定类型的文件的应用。 ...

    android intent 页面跳转

    若希望其他应用能够处理特定Intent,可以不指定具体Activity,而是设置Intent的Action、Data、Category等属性。 ```java Intent intent = new Intent(); intent.setAction("com.example.ACTION_NAME"); intent....

    Android应用源码之Intent.zip

    在Android应用开发中,Intent是一个至关重要的概念,它充当了应用程序组件之间通信的桥梁。Intent不仅用于启动新的活动(Activity)或服务(Service),还能在组件间传递数据。本资料"Android应用源码之Intent.zip...

    android intent and intent-filters

    Intent-Filters包括了Action、Data、Category等元素,当一个隐式Intent被广播时,系统会根据Intent中的这些属性匹配声明了对应Intent-Filters的组件。 1. **<action>**:声明组件可以处理的Action,使得组件能够...

    Android中Intent的使用

    Intent包含了操作的行动(Action)、数据(Data)、类别(Category)和额外数据(Extras)等信息,这些信息定义了Intent的目标和执行的上下文。 二、Intent的类型 1. 显式Intent:明确指定了要启动的组件(Activity...

Global site tag (gtag.js) - Google Analytics