Android_Intent详解

Android_Intent详解

ID:37708215

大小:113.50 KB

页数:10页

时间:2019-05-29

Android_Intent详解_第1页
Android_Intent详解_第2页
Android_Intent详解_第3页
Android_Intent详解_第4页
Android_Intent详解_第5页
资源描述:

《Android_Intent详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Intent详解一、Intent作用Intent是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。比如说调用startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver,再或者由startService()/bindservice()来启动一个后台的service.所以可以看出来,intent主要是用来启动其他的activity或者service,所以可以将intent理解成

2、activity之间的粘合剂。二、Intent的构成要在不同的activity之间传递数据,就要在intent中包含相应的东西,一般来说数据中最基本的应该包括:Action用来指明要实施的动作是什么,比如说ACTION_VIEW,ACTION_EDIT等。具体的可以查阅androidSDK->reference中的Android.content.intent类,里面的constants中定义了所有的action。Data要事实的具体的数据,一般由一个Uri变量来表示下面是一些简单的例子:ACTION_VIEW content://c

3、ontacts/1 //显示identifier为1的联系人的信息。ACTION_DIALcontent://contacts/1 //给这个联系人打电话除了Action和data这两个最基本的元素外,intent还包括一些其他的元素,Category(类别):这个选项指定了将要执行的这个action的其他一些额外的信息,例如LAUNCHER_CATEGORY表示Intent的接受者应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一

4、块数据上执行。具体同样可以参考androidSDK->reference中的Android.content.intent类。以前我也写过一篇于category有关的文章,点击这里可以查看。Type(数据类型):显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。component(组件):指定Intent的的目标组件的类名称。通常Android会根据Intent中包含的其它属性的信息,比如action、data/type、ca

5、tegory进行查找,最终找到一个与之匹配的目标组件。但是,如果component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。下面是这些额外属性的几个例子:ACTION_MAINwithcategoryCATEGORY_HOME//用来Launchh

6、omescreen.以前我也写过一篇于与之有关的文章,点击这里可以看到。ACTION_GET_CONTENTwithMIMEtypevnd.android.cursor.item/phone10//用来列出列表中的所有人的电话号码综上可以看出,action、data/type、category和extras一起形成了一种语言,这种语言可以是android可以表达出诸如“给张三打电话”之类的短语组合。三、intent的解析应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个IntentFi

7、lter。每个IntentFilter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网页浏览器程序的IntentFilter就应该声明它所希望接收的IntentAction是WEB_SEARCH_ACTION,以及与之相关的请求数据是网页地址URI格式。如何为组件声明自己的IntentFilter?常见的方法是在AndroidManifest.xml文件中用属性描述组件的IntentFilter。  前面我们提到,隐式I

8、ntent(ExplicitIntents)和IntentFilter(ImplicitIntents)进行比较时的三要素是Intent的动作、数据以及类别。实际上,一个隐式Intent请求要能够传递给目标组件,必要通过这三个方面的检

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。