相信android开发工程师,对Intent一定不陌生,在整个开发中随时都用到了,今天我们总结一下Intent。

1. 为什么需要Intent?

在android Intent机制是协助应用间的交互与通讯,Intent 负责对应用中的一次操作的动作,动作涉及数据,附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,讲Intent传递给调用的组件,并完成组件调用。所以Intent就是android各组件之间相互通信的桥梁。

2. Intent使用场景:

主要用于应用程序内部的Activity/Service之间的交互,也可以用于应用程序之间。

所以Intent可以启动Activity,Service,还能发起一个广播Broadcasts。

3. Intent的4个属性:

1)Action:是指Intent要完成的动作,是一个字符串常量,在SDK中定了一些标准的action常量。

ACTION_MAIN:android app的入口,一个android应用,只能有一个。

ACTION_DIAL:打开系统默认的拨号程序,通过如果data中设置了电话号码,则自动在拨号程序中显示

ACTION_CALL:直接呼叫data中的号码。

ACTION_ANSWER:接听来电

2)Data: 是执行动作的URI和MIME类型,不同的action,有不同的数据。

3)Category:是一个执行动作Action的附加信息。

4)Type:显示指定Intent的数据类型,一般Intent的数据类型能够根据数据本身进行判定,但是通过Type,可以强制显示指定,而不用推导

5)Compent:指定Intent的目标组件的类名称,使用这个属性后,将不在执行上述查找过程。

6)Extra:添加组件的附加信息,传递值

重新认识Intent的更多相关文章

  1. Parcelable序列化的使用,关于intent.getParcelableArrayExtra的使用

    Parcelable相较于Serializable的效率更高 public class ChargeMode implements Parcelable{ public String name; pu ...

  2. android Intent介绍

    Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...

  3. 很不错的Intent用法 适用于正在开发的伙伴。自己看到了,也分享给大家吧。

    本文介绍Android中Intent的各种常见作用. 1 Intent.ACTION_MAIN String: android.intent.action.MAIN 标识Activity为一个程序的开 ...

  4. 在Android中Intent的概念及应用(二)——Intent过滤器相关选项

    一.如果多个Activity拥有同一个Intent Action,启动时用同一个Action启动会是什么情况? 如何指定某一个Activity启动? 在多个Activity拥有同一个Intent Ac ...

  5. 在Android中Intent的概念及应用(一)——显示Intent和隐式Intent

    Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent ...

  6. Android的Intent.FLAG_ACTIVITY_CLEAR_TOP无效

    转载:http://blog.csdn.net/u011361576/article/details/48626237 今天写代码遇到了一个问题: 当 B - A - B 跳转的时候,使用Intent ...

  7. Intent

    1.http://blog.csdn.net/daogepiqian/article/details/50606474 2.http://blog.csdn.net/wulianghuan/artic ...

  8. Android基础学习第三篇—Intent的用法

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  9. Android 笔记 Intent and Bundle day7

    学习了Intent与Bundle的使用,进行应用中的交互 package com.example.intent; import android.app.Activity; import android ...

  10. Android Intent Flags

    Intent,顾名思义,即意图,通常用它来启动一个应用程序组件( Activity, Service, 或者 BroadCast Receiver ).在启动一个新的 Activity 时,可以通过给 ...

随机推荐

  1. UITableView 小节-备

    UITableView 让列表自动滑动(定位)到某一行 NSIndexPath*scrollIndexPath = [NSIndexPathindexPathForRow:10inSection:0] ...

  2. jdk8永久代从方法区移除的验证

    /*** 测试使用jdk8中是否仍然可以使用永久代* jvm options * -Xms20m -Xmx20m -Xmn10m -XX:PermSize=10m -XX:MaxPermSize=10 ...

  3. XAMPP的Apache服务器无法正常启动解决方案

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包.介绍什么的,参见百度百科http://baike.baidu.com/link?url=-UE ...

  4. yiic模块module使用

    模块是一个独立的软件单元,它包含 模型, 视图, 控制器 和其他支持的组件. 在许多方面上,模块看起来像一个 应用.主要的区别就是模块不能单独部署,它必须存在于一个应用里. 用户可以像他们访问普通应用 ...

  5. 8.2.1.7 Use of Index Extensions 使用索引扩展

    8.2.1.7 Use of Index Extensions 使用索引扩展 InnoDB 自动扩展每个secondary index 通过添加primary key columns to it,考虑 ...

  6. 生成excel内存溢出问题的解决方式

    常用的excel生成工具包括jxl.poi.但二者都存在一个问题:生成excel需要大量的消耗内存.如果一次性往excel中写入的数据足够的多将导致内存溢出. 1.数据写入excel为什么会大量的消耗 ...

  7. css实现居中的各种方法

    css垂直居中有很多种方法,可以参考下这个网站

  8. linux中cat、more、less、tail、head命令

    cat命令功能用于显示整个文件的内容单独使用没有翻页功能因此经常和more命令搭配使用,cat命令还有就是将数个文件合并成一个文件的功能. more命令功能:让画面在显示满一页时暂停,此时可按空格健继 ...

  9. html(三)

    今天自己画了个安卓机器人,之前听徐大大讲过一次,查手册去动手的时候其实发觉不是很难,这种规则的图像还是很好画的,主要是用<div>标签和<span>标签去做的,通过CSS添加样 ...

  10. 手势触摸定位(UIPanGestureRecognizer)

    /** 1.相对于父坐标系而言,表示当前触摸点所在的位置 */ CGPoint locationPoint = [panGestureRecognizer locationInView:panGest ...