intent 六大属性

intent 六大属性:

action:

描述意图想法中,在日常生活中,我们会说我想干。。。我想看。。。我想做 and so on ,在android中action就是表示这个动作的意思。你指定一个action执行者就会依照这个动作的指示,接收相关的输入,表现对应的行为,产生输出。在intent类中,定义了一批量动作,比如:Action_VIEW ACTION_PICK 之类的,基本上覆盖了常用操作。

Data(数据)

 要事实的具体的数据, 一般由Uri变量来表示

例子:ACTION_VIEW content://contacts/1 //现实identtfier为1的联系人信息

ACTION_DIAL content://contacts/1 // 给这个联系人打电话

Category(范畴):

指定ACtion范围,这个选项指定了将要执行的这个action的其他一些额外的约束,有时听过Action,配合Data或Type,很多时候可以准确的表达出一个完整的意图。但也会需要加一些约束就更精准了。如:如果你虽然喜欢做俯卧撑,但一次做30个还是只是在特殊的时候才会发生,那么你可能表达说:每次吃成了的时候,我都想做30个俯卧撑,这就对应着Intent的category的范畴,他所发生的意图附加一个约束。在android中,一个实例时:所有应用的主Activity(单独启动时候,第一个运行的那个activity。。),都需要一个Category为CATEGORY_LAUNCHER,Action为ACTION_MAIN的Intent。

Type(数据类型):

用于指定类型,以供过滤(比如ACTION_VIEW同时指定为Type为Image,则调出浏览图片的应用)一般Intent的数据类型能够根据数据本生进行判断,但是通过设置这个属性,可以强制采用显示指定的类型而不再进行判定。

Component(组件):

我们常用Action,Data、Type,Category去描述一个意图,这个也是android推荐的,这种模式称:Implicit intents。通过这种模式,提供一种灵活的可扩展的模式,给用户和第三方应用一个选择权,比如:一个邮箱软件,大部分功能都好,就是选择图片的功能做的太土,。如果它采用是Implicit intents,那么他就是一个开放的体系,手机中没有其他图片选择功能的情况下,可以继续使用邮箱默认的,如果有,你可以任意选择来替代原有模块完成这一功能。但这种模式需要付出性能上的开销,因为毕竟有一个检索过程。于是,anroid提供了另一种模式,叫Explicit intents。就需要Conponent的帮助了,Component就是完整的类型,形如:com.****.***,一旦知名了可以直接调用,自然是速度快,适合在明确知道这就是一个内部模块的时候,使用它。

Extras(附加信息):

是其他所有附加信息的集合。使用extras可以为组建提供扩展信息。比如:如果要执行“发送电子邮件”这个动作,可以讲电子邮件的标题、正文等保存在extras里,传送给电子邮件的发送组件。

Flags(标志位):

能识别,有输入,整个Intent基本上就完整了,但还有一个写附件的指令,需要房子Flags中带过去,顾名思义,Flags是一个整形数,有一些列的标志位构成,这些标志,是用来知名运行模式的,比如,你期望这个意图的执行者,和你运行在两个完全不同的任务中(或者说进行也无妨),就需要设置FLAG_ACTIVITY_TASK的标志位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值