在学习Intent意图之前,先介绍一点理论知识。看晕了的也不要紧,后面我将会用详细的实例,向大家讲解Intent (意图)。
Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活 Android应用的三个核心组件:活动、服务和广播接收器(四大组件中还有一个是“内容提供者”--Content Provider )
所谓的“意图”,不要想的太复杂,通俗点说就是“告诉Android系统,你想做什么事儿...”,这是我个人的一点浅见。
Intent可以划分成显式意图和隐式意图。
显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
在上一篇文章Activity的激活及传值中,我们使用Intent(意图)来激活Activity,并传递参数的小实例,就是典型的“显示意图”
隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
在使用Android开发“电话拨打功能”的时候,我们通常会使用类似如下的代码:
其中“android.intent.action.CALL”是意图过滤器中的“动作名称”。
有人可能会疑问,我在“电话拨号程序”中好像没有修改项目清单,没有往里面添加任何内容,好像也可以啊!因为电话拨号功能属于Android系统内置,系统会自动去匹配(比较特殊,所以不需要用户手动去添加)。自动生成类似代码:
下面是一个小例子,Activity端的代码:
通常情况,我们在通过隐式意图Intent激活其他组件时,为了匹配,需要在项目清单文件中类似代码:
以前老是看到项目清单文件中有“intent-filter”...,一直不知道有啥用。现在应该明白,意图过滤器的作用了吧?
分享到:
相关推荐
android 通过Intent意图实现系统调用摄像机拍照的 Demo,并且实现获取路径,将拍摄照片display出来。
android activityIntent 传值 传对象
通过一个实验,讲解Android的使用方法,总结详细
android中Intent传递对象的两种方法(Serializable,Parcelable) 简单而又详细的demo,欢迎下载
主要为大家详细介绍了Android利用Intent启动和关闭Activity的相关操作,感兴趣的小伙伴们可以参考一下
利用Intent意图开发技术,实现了一个简易的备忘录,其功能模块包括拨打电话和发送短信等。注意修改配置文件AndroidManifest.xml拨打电话和发送短信的权限。
Android+Intent机制实例详解 Android+Intent 大家不得不看啊!
简单的页面跳转app
源程序关于android平台中intent的使用小示例,仅供参考
android 利用intent调用activity 简明精炼的例子 传递数据,并且有返回值
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
本文件介绍的是Anroid中Intent的使用方法,从谷歌中搜索内容;浏览网页;显示地图;路径规划;拨打电话;发送短信等简单功能实现
Android+Intent机制实例详解.rar,详细的介绍了,android中的intent知识,可以下载下来看看哟
前言 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化...在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。 代
个人整理的Android Intent的使用介绍 Android 组件之间的信使Intent Android 中的数据存取和ContentProvider
Android使用Intent实现Camera功能
Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。
Android使用Intent实现Video功能
恢复已经停止的更新下载。 'android.server.checkin.FOTA_RESTART' 通过 OTA 下载并安装操作系统更新。 'android.server.checkin.FOTA_UPDATE' 用户按下了'Media Button'。...'android.intent.action.PACKAGE_ADDED'
我们可以通过Intent类中的putExtra方法可以将简单的数据类型和序列化对象保存到Intent对象中,然后在目标的Activity中使用getXxx方法取出对应的数据。