本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论。

欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3993488.html

  • 知识点:

继续昨天的Intents 和 Intent Filters的学习

  • 组成一个Intent(Building an Intent):

Intent 对象携带信息(例如明确的组件名或应该接收intent的组件种类(intent category)),Android系统使用这些

信息决定开启哪个组件。还携带了接收的组件使用的信息,为了完全的执行功能。

Intent包含的基本信息有以下几种:

1.组件名

 //1.组件名(Component name)
//目标组件的完全限制类名(fully qualified class name),包括app的包名。
// 例如com.johntsai.SecondActivity
//我们可以使用以下方法设置组件名
setComponent()
setClass()
setClassName()
//或者是Intent构造器

2.功能

 //2.功能,活动(Action)
//指定一般要执行的功能或者活动的字符串
//我们可以指定Intent的action,使用以下方法 setAction()
//或是Intent构造器
//如果我们构造自己的action,必须要包括我们app的包名作为前缀
//例如:
static final String ACTION_TIMETRAVEL
="com.johntsai.action.TIMETRAVEL";

3.数据

 //3.数据(Data)
//URI(Uri对象)引用数据或MIME类型的数据
//提供的data的类型一般由intent的action决定
//例如action是ACTION_EDIT,那么data就应该包含可编辑的文档的URI
//仅设置data URI
setData()
//仅设置MIME类型
setType()
//两者都设置
setDataAndType()
//提醒:如果你想要设置两者2,不能调用setData()和setType(),因为它们会使对方的数值无效。一般是使用setDataAndType()。

4.种类

 //4.种类(Category)
//包含关于哪种组件应该处理Intent的附加信息的字符串
//一个intent可以有任意多个category说明
//指定category
addCategory()

组件名、功能、数据、种类(component name,action,date,category)代表了一个Intent最典型的特点,

通过读取这些属性,Android系统能决定开启哪个组件。

5.附加部分

 //5.附加部分(Extras)
//携带需要完成要求功能的附加信息的键值对(Key-value paris)
//声明我们自己的附加部分(我们的app的Intent接收)确保包含我们的应用包名作为前缀
//例如:
static final String EXTRA_GIGAWATTS = "com.johntsai.EXTRA_GIGAWATTS";

6.标志

 //6.标志(Flags)
//Flags指导Android系统怎样开启Activity(例如Activity属于哪个task)以及开启后怎样处理它(例如,它是否属于最近的Activity列表中)
setFlags();

如果喜欢,请点推荐。

To be Continued.....

Android学习笔记——Intents 和 Intent Filters(二)的更多相关文章

  1. Android学习笔记_46_Android的intent之间Object、List、List<Object>和全局变量数据的传递(Parcelable Serializable)

    转http://blog.csdn.net/pku_android/article/details/7456305 一.传递List<String>和List<Integer> ...

  2. 【转】Pro Android学习笔记(十二):了解Intent(下)

    解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...

  3. Android开发之旅: Intents和Intent Filters(理论部分)

    引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...

  4. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

  5. 6、二、App Components(应用程序组件):1、Intents and Intent Filters(意图和意图过滤器)

    1.Intents and Intent Filters(意图和意图过滤器) 1.0.Intents and Intent Filters(意图和意图过滤器) An Intent is a messa ...

  6. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

  7. 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式

    可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...

  8. 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

    目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...

  9. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

随机推荐

  1. 朴素贝叶斯分类器的应用 Naive Bayes classifier

    一.病人分类的例子 让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难. 某个医院早上收了六个门诊病人,如下表. 症状 职业 疾病 打喷嚏 护士 感冒  打喷嚏 农夫 过敏  头痛 建筑工 ...

  2. Eclipse 常用插件安装(最新更新:2016-12-06)

    . . . . . Eclipse 用得久了,不停地填充着各种好用的插件.由于我的版本较低,不支持插件导出功能(3.7以上支持),所以把各种体验比较好的插件记录在这里,以便将来全量升级Eclipse时 ...

  3. backlight 子系统(转载)

    http://blog.csdn.net/weiqing1981127/article/details/8511676   Linux下的Backlight子系统(一) http://blog.csd ...

  4. ML-DL-各种资源汇总

    1.Used Libraries, Datasets, and Models 1.1 Libraries TensorFlow (from Google): https://www.tensorflo ...

  5. FileTable使用总结

    sqlsever2012以后才开始支持FileTable,具体的FileTable的介绍可以参考微软的官网 http://msdn.microsoft.com/zh-cn/library/gg5090 ...

  6. android开发(35) fragment和actionbar组合使用。解决不触发onOptionsItemSelected的问题,获得actionbar 的默认 get icon

    先说说我的使用场景: 我写了一个activity,使用了actionbar. 在这个activity中,有fragment,默认先打开一个 homeFragment,点击某个按钮会进入 detailF ...

  7. IT系统

      去年11月11日,也就是我们俗称的“双十一”当天,淘宝集市.淘宝商城天猫联手创造了交易额达191亿的销售神话.然而,即便是这种神话也还不足以成为留传至今的佳话,其中最为重要的原因就是支撑电子商务的 ...

  8. [hadoop读书笔记] 第九章 构建Hadoop集群

    P322 运行datanode和tasktracker的典型机器配置(2010年) 处理器:两个四核2-2.5GHz CPU 内存:16-46GN ECC RAM 磁盘存储器:4*1TB SATA 磁 ...

  9. Visual Studio “14” CTP 3 Released

    http://blogs.msdn.com/b/visualstudio/archive/2014/08/18/visual-studio-14-ctp-3-released.aspx Today w ...

  10. 如何在Windows 10安装和使用Linux的Bash shell

    转载自:百度经验 Windwos 10 的周年更新为开发人员提供一个大的新功能:一个完整的,基于Ubuntu的Bash shell中,可以直接在Windows上运行Linux软件. 这使得“Linux ...