android意图与意图过滤器

android意图与意图过滤器

ID:19730602

大小:71.00 KB

页数:8页

时间:2018-10-05

android意图与意图过滤器_第1页
android意图与意图过滤器_第2页
android意图与意图过滤器_第3页
android意图与意图过滤器_第4页
android意图与意图过滤器_第5页
资源描述:

《android意图与意图过滤器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android意图和意图过滤器  编辑文档目录1意图和意图过滤器IntentsandIntentFilters  2意图对象IntentObjects  3意图解析IntentResolution  4过滤器与安全Filtersandsecurity  意图和意图过滤器IntentsandIntentFilters一个应用程序的三个核心组件-活动,服务和广播接收器是通过消息即意图(Intents)来激活的。Intent消息传送是相同或不同应用中组件运行时晚绑定的一种机制。意图本身,一个意图对象,是一个包含被执行操作

2、抽象描述的被动的数据结构-或者,对于广播而言,是某件已经发生并被声明的事情的描述。存在不同的机制来传送意图到每种组件中:一个意图对象是传递给Context.startActivity()或者Activity.startActivityForResult()来启动一个活动或者让一个存在的活动去做某些新的事情。一个意图对象是传递给Context.startService()来发起一个服务或者递交新的指令给运行中的服务。类似的,一个意图能被传递给Context.bindService()来在调用组件和一个目标服务之间建立

3、连接。作为一个可选项,它可以发起这个服务如果还没运行的话。传递给任意广播方法(例如Context.sendBroadcast(),Context.sendOrderedBroadcast(),或者Context.sendStickyBroadcast())的意图对象被传递给所有感兴趣的广播接收者。许多种广播产生于系统代码。 在每个例子里,Android系统找到合适的活动,服务,或者一组广播接收者来回应这个意图,必要时实例化它们。这些消息传送系统没有重叠:广播意图仅被传递给广播接收者,永远不会给活动或者服务。一个传送

4、给startActivity()的意图是只会被传递给一个活动,永远不会给一个服务或广播接收者,如此类推。这篇文档以意图对象的描述开始,然后描述Android映射意图到组件的规则-如何解决哪个组件应该接收一个意图消息。对于没有显式命名一个目标组件的意图,这个过程包括对照与潜在目标相关联的意图过滤器来测试这个意图对象。 意图对象IntentObjects一个意图Intent对象是一堆信息。它包含接收这个意图的组件感兴趣的信息(例如将要采取的动作和操作的数据)再加上Android系统感兴趣的信息(例如应该处理这个意图的组

5、件类别和如何启动一个目标活动的指令):组件名称Componentname应该处理这个意图的组件名字.这个字段是一个ComponentName对象-一个组合物:目标组件的完全合格的类名(比如"com.example.project.app.FreneticActivity")以及应用程序描述文件中设置的组件所在包的名字(比如,"com.example.project").这个组件名字的包部分和描述文件中设置的包名字不一定要匹配。组件名字是可选的。如果被设置了,这个意图对象将被传递到指定的类。如果没有,Android使

6、用另外的意图对象中的信息去定位一个合适的目标-请看本文稍后描述的意图解析IntentResolution。组件名字通过如下方法:setComponent(),setClass(),或者setClassName()设置并通过getComponent()读取。 动作Action一个将被执行的动作的字符串命名-或者,对于广播意图而言,是发生并被报告的动作。这个意图类定义了一些动作常量,包含下面这些:常量目标组件ActionACTION_CALL活动开始一个电话呼叫ACTION_EDIT活动显示数据以给用户编辑ACTION

7、_MAIN活动开始任务的初始活动,没有输入数据也没有输出返回ACTION_SYNC活动同步服务器与移动设备之间的数据ACTION_BATTERY_LOW广播接收器电池低电量警告ACTION_HEADSET_PLUG广播接收器耳机插拔ACTION_SCREEN_ON广播接收器屏幕开启ACTION_TIMEZONE_CHANGED广播接收器时区变化通过查看Intent类描述可获得一个通用动作的预定义常量列表。其他动作被定义在AndroidAPI的其他地方。你也可以自定义动作字符串来激活应用程序中的组件。那些你所创建的动

8、作字符串应该以应用程序包名作为前缀-例如:"com.example.project.SHOW_COLOR".动作很大程度上决定了意图其他部分如何被组织-尤其是数据data和附加字段extras-很像一个方法名决定了一些参数和返回值.因此,一个好的想法是使用尽可能具体的动作名并和意图的其他字段紧密联系起来。换句话说,为您的组件能处理的意图对象定义一个整体的协议

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。