Android Intent学习
2010-08-23 01:16:00 来源:WEB开发网ACTION_DIAL 启动Dialer或其他拨号程序,并显示Data里指定的电话号码
ACTION_SENDTO 向Data里描述的目标地址发送数据
ACTION_TIME_TICK 系统时间每过一分钟发出的广播
ACTION_TIME_CHANGED 系统时间通过设置发生了变化
ACTION_TIMEZONE_CHANGED 时区改变
ACTION_BOOT_COMPLETED 系统启动完毕
ACTION_PACKAGE_ADDED 新的应用程序apk包安装完毕
ACTION_PACKAGE_CHANGED 现有应用程序apk包改变
ACTION_PACKAGE_REMOVED 现有应用程序apk包被删除
ACTION_UID_REMOVED 用户id被删除
(3) Data描述Intent要操作的数据URI和数据类型。有的动作需要对相应的数据进行处理。比如,对于动作ACTION_EDIT来说,它的数据可以为联系人、短信息等可编辑的URI。而对于
ACTION_CALL来说,它的数据可以是一个tel://格式的电话号码URI。正确设置Intent的数据对于Android寻找系统中匹配 Intent请求的组件很重要。如果你使用了ACTION_CALL,但是你的数据却设置成了mailto://格式的URI,那么你所期望的“启动打电话应用程序”这一动作会因为没有与之相对应的应用程序而不会被执行。所以每次使用Intent时,我们都应该留意与设置的Action相关的数据类型和格式。
(4) Category是对被请求组件的额外描述信息。Android也在Intent类中定义了一组静态字符串常量表示Intent不同的类别
(5) 列出了常用的Category常量
CATEGORY_BROWSABLE 目标Activity能通过在网页浏览器中点击链接而激活(比如,点击浏览器中的图片链接)
CATEGORY_GADGET 表示目标Activity可以被内嵌到其他Activity当中
CATEGORY_HOME 目标Activity是HOME Activity,即手机开机启动后显示的Activity,或按下HOME键后显示的Activity
CATEGORY_LAUNCHER 表示目标Activity是应用程序中最优先被执行的Activity
CATEGORY_PREFERENCE 表示目标Activity是一个偏好设置的Activity
(5) Extra当我们使用Intent连接不同的组件时,有时需要在Intent中附加额外的信息,以便将数据传递给目标Activity。比如 ACTION_TIMEZONE_CHANGED需要带有附加信息表示新的时区。Extra用键值对结构保存在Intent对象当中,Intent对象通过调用方法putExtras()和getExtras()来存储和获取Extra。Extra是以Bundle对象的形式来保存的,Bundle对象提供了一系列put和get方法来设置、提取相应键值信息。在Intent类中同样为Android系统应用的一些Action所附加信息的键值定义了静态的字符串常量。
更多精彩
赞助商链接