全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Activity跳转方式分析Intent 简介:Android世界的四大组件Activity、BroadcastReceiver、Service、Content Provider中,其中前三位都是通过Intent来解析进行跳转的,Intent可以说是连接这四大的重要桥梁。下面简单介绍Intent是如何解析的。1 Activity的跳转为:startActivity(Intetn i) ;/无需返回结果startActivity(Intent I, intrequestCode) ; / 需要返回结果2. Service的跳转为:startService(Intent service) ;3. BroadcastReceiver的跳转为:sendBroadcastReceiver(Intent intent) /无序广播sendOrderBroadcastReceiver(Intent intent) /有序广播可以显示构造Intent来直达跳转目标,也可以隐式构造Intent继而通过一定的匹配规则来跳转到目标上,当然可能发生找到多个或0个目标上,当找到多个目标是,系统会提示用户选其一,找不到Intent时则会发生找不到类得异常。1显示Intent:通过显示指定目标,Intent直接跳转。指定方法包括: Intent intent=new Intent() ;Intent.setClass(context,”跳转目标”)当然还有一些类似的构造方法来显示构造Intent。然后以一定的方式来发送Intent。 2. 隐式Intent:通过传送一定的信息量(Android中信息量为:action、category以及data)。然后以一定的解析规则在AndroidManifest.XML文件中来匹配这些已经注册的信息量,从而进行跳转。示例: AndroidManifest.xml的一个已注册Activity隐式构造的一个Intent,通过匹配规则找到目标Intent。当然,一个组件可以有多个Intent-Filter或者多个信息量,以便进行不同的操作,类似于JSP的一个页面可以根据传递来的信息进行添加或修改。隐式Intent解析过程如下:1. Android把安装的包中可获得的Intent Filter放到一个列表中。2. 动作和与正在解析的Intent的种类不关联的Intent Filter会从列表中删除。2.1. 动作匹配指Intent Filter包含特定的动作或没有指定的动作。一个Intent Filter有一个或多个定义的动作,如果没有任何一个能与Intent指定的动作匹配的话,这个Intent Filter在算作是动作匹配检查失败。2.2. 种类匹配更为严格。Intent Filter必须包含所有在解析的Intent中定义的种类。一个没有特定种类的Intent Filter只能与没有种类的Intent匹配。3. 最后,Intent的数据URI中的部分会与Intent Filter中的data标签比较。如果Intent Filter定义scheme,host/authority,path或mimetype,这些值都会与Intent的URI比较。任何不匹配都会导致Intent Filter从列表中删除。没有指定data值的Intent Filter会和所有的Intent数据匹配。3.1. mimetype是正在匹配的数据的数据类型。当匹配数据类型时,你可以使用通配符来匹配子类型(例如,earthquakes/*)。如果Intent Filter指定一个数据类型,它必须与Intent匹配;没有指定数据的话全部匹配。3.2. scheme是URI部分的协议例如,http:,mailto:,tel:。3.3. host-name或“data authority”是介于URI中scheme和path之间的部分(例如,)。匹配主机名时,Intent Filter的scheme也必须通过匹配。3.4. 数据path是紧接在“data authority”的后面(例如,/ig)。path只在scheme和host-name部分都匹配的情况下才匹配。4. 如果这个过程中多于一个组件解析出来的话,它们会以优先度来排序,可以在Intent Filter的节点里添加一个可选的标签。最高等级的组件会返回。通过这些匹配规则,系统会依照信息量来进行匹配隐式Intent目标。而且,Intent也可以携带数据putXXX(key ,value)包括Bundle数据以及简单数据的携带,然后通过putXXX(key)来获得数据。Activity跳转:如上所说,可以通过显示Intent或隐式Intent来进行Activity之间的跳转,使用方法为startActivity(intent) 。跳转方法有 1 startActivity(Intetn i) ; /无需返回结果2 startActivity(Intent I, intrequestCode) ; / 需要返回结果1, startActivity方法:当调用startActivity方法后,调用者Activity进入onPause()或onStop()方法甚至已经onDestroy()掉。2, startActivityForResult方法:方法原型:调用此方法后,调用者Activity进入onPaus
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司矿井测风工工艺作业技术规程
- 橡胶栽培工创新应用模拟考核试卷含答案
- 2025-2026学年冀教版(新教材)二年级上册第三单元“乘法口诀”达标试卷(附参考答案)
- 四年级课程探究
- 河北省石家庄市栾城区2025-2026学年八年级(上)月考物理试卷(含答案)
- 特训06 二次函数-将军饮马与胡不归专练-2025-2026学年九年级数学上学期期中期末挑战满分冲刺卷(人教版)(解析版)
- 2025山西晋城市市政公用集团有限责任公司招聘工作人员87人笔试历年参考题库附带答案详解
- 2025中国铁塔秋季校园招聘笔试历年参考题库附带答案详解
- 2025浙江台州温岭市华阳再生资源有限公司招聘工作人员1人笔试历年参考题库附带答案详解
- 2025四川虹信软件股份有限公司招聘投标专员岗位拟录用人员笔试历年参考题库附带答案详解
- 老旧小区消防设施更新施工方案
- 企业消防安全课件下载
- 测绘毕业答辩设计
- 2025国际胰腺病学会急性胰腺炎修订指南解读课件
- 2025-2026学年高一化学上学期第一次月考卷(四川)含答案解析
- 2025年江苏省公考《申论》(B卷)题及参考答案
- 危化品运输风险评估与智能管控模型研究
- 脱硫塔安装施工进度方案
- 2025药材行业市场全面分析及发展路径与投资规划策略报告
- 2025年陕西有色金属科工贸服务有限公司招聘(24人)笔试考试参考题库及答案解析
- 肿瘤终末期患者水肿症状管理方案
评论
0/150
提交评论