本资料整理自书籍《Android开发入门与实战》第7章
好记性不如烂笔头,本文没有任何价值,完全是常识笔记。
1.什么是Intent:Intent是同一个或者不同的组件(activity、service、broadcast receivers)之间进行消息传递的媒介。
Context.startActivity 和 startActivityForResult都是启动一个activity。
Context.startService初始化一个service或者将指令传递给一个工作的service;Context.bindService在启动组件和service之间建立连接。
Context.sendBroadcast(),Context.sendOrderedBroadcast()等通过Intent传递消息到Broadcast receiver。
2.Intent的结构:
(1)Action:要执行的动作
(2)data:要操作的数据
次要的部分:
category(类别)、type(数据类型)、component(组件)、extras(附加信息)、flag(如何启动activity)
关于intent的小实例:
3.Intent的两种类型:
3.1显示Intent
已经指定了一个组件(通过setComponent(ComponentName)或者setCalss(Context,Class)方法),他提供了一个明确的将运行的类,这样的Intent叫做显示Intent。这种的Intent不再包含其他任何属性信息。显示Intent一般用于应用程序内部传递消息,因为开发人员往往是不知道别的应用程序的组件名称的。
3.2隐式Intent
没有指定明确的组件名称的Intent,则为隐式Intent。由于隐式的Intent没有明确的目标组件名称,所以Android系统会帮助应用程序寻找与Intent请求最匹配的组件。寻找的方法就是IntentFilter比较。IntentFilter解析隐式Intent请求时主要考虑Action、data以及category。
未完待续……