Intent

来源:互联网 发布:一辈子买不起房子知乎 编辑:程序博客网 时间:2024/05/02 05:38

本资料整理自书籍《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。


未完待续……

0 0