本人邮箱: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. 【WPF】使用控件MediaElement播放视频

    需求是点击按钮后,弹出弹窗播放视频.按钮的点击事件如下. public void ShowVideo() { Window window = new Window(); window.Width = ...

  2. 【Unity笔记】Terrain地形制作坍塌/深坑

    Unity的Terrain组件在[set the terrain height]分页下,height高度为0时,可理解为该地形的海平面高度,此时就不能地形下榻.把height调到100,点击[flat ...

  3. Tomcat配置JMX远程监控(Windown7 Linxu)

    一:Window7下配置方式. 1.配置catalina.bat 在第一行加入下面配置 注意下面这些配置要在一行,注意包含空格. set JAVA_OPTS=-Dcom.sun.management. ...

  4. svn cleanup失败

    今天用SVN的时候出现被锁定的情况,既不能更新代码也不能提交. 解决方法如下: 1. 在被锁定的文件夹上点右键,找到并点击Clean up菜单项 2. 在Cleanup对话框中勾选“Break loc ...

  5. 【linux】——Ubuntu 12.04中文输入法的安装

    Ubuntu 12.04中文输入法的安装   Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等.其中Scim和Ibus是输入法框架. 在Ubuntu ...

  6. Mac生成ssh key

    ssh-keygen

  7. JavaScript: The Good Parts

    Chapter 1 Good Parts: JavaScript is an important language because it is the language of the web brow ...

  8. Navi.Soft31.代码生成器(含下载地址)

    1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时 ...

  9. Struts 2应用程序安全功能的配置详解

    安全性是Web应用程序开发工作中最关键的问题之一.在基于servlet的应用程序里,保护应用程序资源的办法有两种:一是对应用程序进行配置(web.xml),二是使用Java代码硬编码到程序中.前一种方 ...

  10. 解决同时共用MOB公司的shareSDK和SMSSDK的冲突问题

    现在mob的SDK版本升级到3.0,跟之前的版本不兼容,尤其是在 同时使用shareSDK和SMSSDK的时候会发生冲突,报NoSuchMethodException的错误. 只需要将所有的jar包和 ...