Action/Data/CategoryExtras/Flags

 

一个字符串为请求的动作命名或者对于broadcast intent, 发生的并且正在被报告的动作例如:

常量

目标组件

动作

ACTION_CALL

activity

发起一个电话呼叫.

ACTION_EDIT

activity

显示数据给用户来编辑.

ACTION_MAIN

activity

将该activity作为一个task的第一个activity启动,不传入参数也不期望返回值.

ACTION_SYNC

activity

将设备上的数据和一个服务器同步.

ACTION_BATTERY_LOW

broadcast receiver

发出电量不足的警告.

ACTION_HEADSET_PLUG

broadcast receiver

一个耳机正被插入或者拔出.

ACTION_SCREEN_ON

broadcast receiver

屏幕被点亮.

ACTION_TIMEZONE_CHANGED

broadcast receiver

时区设置改变.

ACTION_DIAL

activity

启动系统拨号程序和其他拨号程序,并显示Data里指定的电话号码

ACTION_SENDTO

activity

向Data里描述的目标地址发送数据

你也可以定义自己的action字符串用来启动你的应用程序自定义的action应该包含应用程序的包名.例如"com.example.project.SHOW_COLOR".

action很大程度上决定了intent的另外部分的结构就像一个方法名决定了它接受的参数和返回值一样因此最好给action一个最能反映其作用的名字.

一个intent对象中的action是使用getAction()setAction()来读写的.

Data
需要操作的数据的URI和它的MIME(多用途互联网邮件扩展,Multipurpose Internet Mail Extensions)类型例如如果actionACTION_EDIT, 那么Data将包含待编辑的数据URI. 如果actionACTION_CALL, Data将为tel:电话号码的URI. 如果actionACTION_VIEW, Datahttp:网络地址的URI.

当将一个intent和一个组件相匹配时除了URI外数据类型也很重要例如一个显示图片的程序不应该用来处理声音文件.

数据类型常常可以从URI推断特别是content:URI, 它表示该数据属于一个content provider. 但数据类型也可以被intent对象显示声明. setData()方法设置URI, setType()方法指定MIME类型, setDataAndType()设置数据URIMIME类型它们可以使用getData()getType()来读取.

Category
一个字符串,包含了关于处理该intent的组件的种类的信息一个intent对象可以有任意个category. intent类定义了许多category常数例如:

常量

含义

CATEGORY_BROWSABLE

目标activity可以使用浏览器来显示-例如图片或电子邮件消息.

CATEGORY_GADGET

activity可以被包含在另外一个装载小工具的activity.

CATEGORY_HOME

activity显示主屏幕,也就是用户按下Home键看到的界面.

CATEGORY_LAUNCHER

activity可以作为一个任务的第一个activity,并且列在应用程序启动器中.

CATEGORY_PREFERENCE

activity是一个选项面板.

addCategory()方法为一个intent对象增加一个category, removeCategory删除一个category, getCategories()获取intent所有的category.

Extras
为键-值对形式的附加信息例如ACTION_TIMEZONE_CHANGED的intent有一个"time-zone"附加信息来指明新的时区ACTION_HEADSET_PLUG有一个"state"附加信息来指示耳机是被插入还是被拔出.

intent对象有一系列put...()set...()方法来设定和获取附加信息这些方法和Bundle对象很像事实上附加信息可以使用putExtras()getExtras()作为Bundle来读和写.

Flags

各种标志很多标志指示android系统如何启动一个activity(例如该activity属于哪个任务)和启动后如何处理它(例如它是否属于最近activity列表中).

android系统和应用程序使用intent对象来送出系统广播和激活系统定义的组件.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值