(七)组件通信与广播信息.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Intent过滤器 Intent解析 Intent到Intent过滤器的映射过程称为“Intent解析” Intent解析可以在所有的组件中,找到一个可以与请求的Intent达成最佳匹配的Intent过滤器 Intent解析的匹配规则 Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表 在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,任何不匹配的Intent过滤器都将被过滤掉。没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent * Intent过滤器 Intent解析 把Intent数据Uri的每个子部与Intent过滤器的data标签中的属性进行匹配,如果data标签指定了协议、主机名、路径名或MIME类型,那么这些属性都要与Intent的Uri数据部分进行匹配,任何不匹配的Intent过滤器均被过滤掉 如果Intent过滤器的匹配结果多于一个,则可以根据在intent-filter标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择 在ToDoList3的基础上,专门有一个活动来管理新输入项,并增加编辑功能 参见项目源码 Intent-ToDoList6 组件通信和广播消息 * 提纲 了解使用Intent进行组件通信的原理 掌握使用Intent启动Activity的方法 掌握获取Activity返回值的方法 了解Intent过滤器的原理与匹配机制 掌握发送和接收广播消息的方法 * Intent Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息 Intent也可称为一个在不同组件之间传递的消息,这个消息在到达接收组件后,接收组件会执行相关的动作 Intent为Activity、Service和BroadcastReceiver等组件提供交互能力 Intent的用途 启动Activity和Service 在Android系统上发布广播消息 广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息 * Intent 启动Activity 在Android系统中,应用程序一般都有多个Activity,Intent可以实现不同Activity之间的切换和数据传递 启动Activity方式 显式启动:必须在Intent中指明启动的Activity所在的类 隐式启动: Android系统根据Intent的动作和数据来决定启动哪一个Activity,也就是说在隐式启动时,Intent中只包含需要执行的动作和所包含的数据,而无需指明具体启动哪一个Activity,选择权由Android系统和最终用户来决定。 * Intent 启动Activity 显式启动 创建一个Intent 指定当前的应用程序上下文以及要启动的Activity 把创建好的这个Intent作为参数传递给startActivity()方法 Intent intent = new Intent(Context packageContext, Class? cls); startActivity(intent); * Intent 启动Activity 显式启动 IntentDemo示例 IntentDemo示例包含两个Activity类 IntentDemo ActivityToStart 程序启动是默认启动IntentDemo这个Activity * Intent 启动Activity 显式启动 在AndroidManifest.xml文件中注册上面这两个Activity,应使用activity标签,嵌套在application标签内部 application android:icon=@drawable/icon android:label=@string/app_name activity android:name=.IntentDemo android:label=@string/app_name intent-filter action android:name=ent.action.MAIN / category android:name=ent.category.LAUNCHER / /intent-filter

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档