Android Intent学习
2010-08-23 01:16:00 来源:WEB开发网Intent是一种运行时绑定(run-time binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION请求给Android,Android会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器Activity来浏览网页。 Intent是一种运行时绑定(run-time binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个 Activity只需要发出WEB_SEARCH_ACTION请求给Android,Android会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器Activity来浏览网页。
Intent对象抽象地描述了要执行的操作,其描述的基本内容可以分为组件名称、Action(动作)、Data(数据)、Category(类别)、Extra(附加信息)和Flag(标志位)6部分,下面是详细的介绍。
(1) 组件名称是指Intent目标组件的名称。组件名称是一个ComponentName对象,这种对象名称是目标组件类名和目标组件所在应用程序的包名的组合。组件中包名不一定要和manifest文件
中的包名完全匹配。组件名称是一个可选项。如果Intent消息中指明了目标组件的名称,这就是一个显式消息,Intent会传递给指明的组件。如果目标组件名称并没有指定,Android则通Intent
内的其他信息和已注册的IntentFilter的比较来选择合适的目标组件。
(2) Action描述Intent所触发动作名字的字符串,对于Broadcast Intent来说,Action指被广播出去的动作。理论上Action可以为任何字符串,而与Android系统应用有关的Action字符串以静态字符串常量的形式定义在了Intent类中。列出了当前Android系统中常见的Activity Action Intent的Action
ACTION_CALL 拨出Data里指定的电话号码
ACTION_EDIT 打开编辑Data里指定数据相对应的应用程序
ACTION_MAIN 主程序入口,不会接收数据,结束后也不返回数据
ACTION_SYNC 在Android平台和服务器之间同步数据
ACTION_VIEW 根据Data类型的不同,打开相对应的应用程序以显示数据
更多精彩
赞助商链接