1、IntentFilter中的过滤信息有action、category、data;

2、一个Activity中可以有多个intent-filter,一个Intent只要能匹配任何一组intent-filter即可成功启动对应的Activity;

3、action的匹配要求:Intent中的action必须存在且必须和过滤规则中的其中一个action相同,action区分大小写;

4、category的匹配要求:Intent中如果出现了category,不管有几个,每一个都必须和过滤规则中的category匹配,如果Intent中没有category,那么只要intent-filter中指定了“android.intent.category.DEFAULT”这个category,这个Intent也可以匹配成功(不含有DEFAULT这个category的Activity是无法接收隐式Intent的),因为系统在调用startActivity或者startActivityForResult的时候会默认为Intent加上“android.intent.category.DEFAULT”这个category;

5、data的匹配规则和action类似,如果过滤规则中定义了data,那么它也要求Intent中必须含有data数据,并且完全匹配过滤规则中的某一个data。data由mimeType和URI两部分组成。要为Intent指定完整的data,必须要调用setDataAndType方法,不能先调用setData再调用setType,因为这两个方法彼此会清除对方的值;

6、URI的默认值为content和file。如果没有指定URI,但是Intent中的URI部分的schema必须为content或者file才能匹配;

7、PackageManager的resolveActivity方法或者Intent的resolveActivity方法,可以判断是否有Activity能够匹配我们的隐式Intent,如果找不到匹配的Activity就会返回null;

8、PackageManager的queryIntentActivities方法与resolveActivity方法不同的是:它不是返回最佳匹配的Activity信息而是返回所有成功匹配的Activity信息;

9、上述两个方法的第二个参数我们应当使用MATCH_DEFAULT_ONLY这个标记位,为了避免匹配出没有DEFAULT这个category的Activity,而使得startActivity失败;

10、Intent-filter的匹配规则对于Service和BroadcastReceiver也是同样的道理,不过系统对于Service的建议是尽量使用显示调用方式来启动服务。

任玉刚【Android开发艺术探索】读后笔记三相关推荐

  1. Android开发艺术探索读书笔记(一)

    首先向各位严重推荐主席这本书<Android开发艺术探索>. 再感谢主席邀请写这篇读书笔记 + 书评.书已经完整的翻完一遍了,但是还没有细致的品读并run代码,最近有时间正好系统的把整本书 ...

  2. Android开发艺术探索全面解读

    概述:本系列博客是对任玉刚所著一书 Android开发艺术探索 的全民解读与学习.在这个系列博客中,会对该书中的各个章节进行细致的解读与思考,以及最重要的总结.希望在这个过程中和大家共同进步. 本书章 ...

  3. 《android开发艺术探索》笔记之Bitmap的加载和Cache

    <Android开发艺术探索>笔记之Bitmap的加载和Cache<一> 我放暑假前,就在图书馆借了一本<Android开发艺术探索>,这也是我看到很多人推荐的.之 ...

  4. 《Android开发艺术探索》读书笔记——Cha3.2.2使用动画实现View的滑动

    章节来自<Android开发艺术探索> 第一种方式 3.2.2 使用动画 上一节介绍了采用scrollTo/scrollBy来实现View的滑动,本节介绍另外一种滑动方式,即使用动画,通过 ...

  5. 《Android开发艺术探索》自定义View中关于“HorizontalScrollViewEx”的改进

    在<Android开发艺术探索>一书中自定义View一节中提到了关于一个类似横向滑动List的自定义ViewGroup:HorizontalScrollViewEx.如果你使用过的话就会发 ...

  6. 《android开发艺术探索》读书笔记(五)--RemoteViews

    接上篇<android开发艺术探索>读书笔记(四)--View工作原理 No1: RemoteViews使用场景:通知栏和桌面小部件 No2: 通知栏主要通过NotificationMan ...

  7. 《Android开发艺术探索》图书勘误

    第一章 在13页提到"系统只在Activity异常终止的时候才会调用onSaveInstanceState与onRestoreInstanceState来储存和恢复数据,其他情况不会触发这个 ...

  8. Android开发艺术探索——第七章:Android动画深入分析

    Android开发艺术探索--第七章:Android动画深入分析 Android的动画可以分成三种,view动画,帧动画,还有属性动画,其实帧动画也是属于view动画的一种,,只不过他和传统的平移之类 ...

  9. Android开发艺术探索--第二章IPC机制(2)之Binder

    最近在拜读任主席的Android开发艺术探索,现在看了一半,再回头看前面的,感觉跟没有看一样,所以还是把知识点总结一下吧,这一节咱们来讲一下IPC中的Binder 直观来说,Binder是Androi ...

  10. Android开发艺术探索完结篇——天道酬勤

    这片文章发布,代表着我已经把本书和看完并且笔记也发布完成了,回忆了一下我看Android群英传,只用了两个月,但是看本书却花了2016年05月04日 - 2018年07月16日,整整两年多,真是惭愧 ...

最新文章

  1. P3731 二分图匹配必经边
  2. Vue CLI 3 脚手架搭建
  3. AOP联盟通知类型和Spring编写代理半自动
  4. 事实上着就是MAYA4.5完全手册插件篇的内容
  5. php中files和FILRS,php获取文件内容最后一行示例
  6. zappos核心价值_尽管Zappos说了什么,中层管理人员仍然很重要
  7. 牛腩新闻发布系统(7)——总结
  8. 线性共轭梯度法python_基于Python共轭梯度法与最速下降法之间的对比
  9. 计算机发展前沿技术——医学领域的人工智能
  10. 1's Complement和2's Complement的区别
  11. Frenet坐标系与Cartesian坐标系互转(二):Python代码函数实现
  12. esp8266 wifi信号强度示意表
  13. js汉语转拼音(全拼、首字母、拼音首字母)
  14. MAME模拟器debug帮助文档汉化二(常规指令)
  15. word打开wps文件乱码_Word打开WPS文档成乱码怎么办
  16. ChatGpt真的会取代程序员吗,有点过分担心了
  17. MySQL学习笔记(5)
  18. 转载过来的一些嵌入式资料
  19. 计算机不上电维修流程,电脑主板不加电的维修流程
  20. 云计算未来面临的挑战,主要包含哪几方面?

热门文章

  1. 用acdess制作html文件,Acdsee如何制作幻灯片 Acdsee制作幻灯片方法教程
  2. 四川大学计算机学院优秀毕业论文,(完整版)四川大学本科_毕业论文(设计)_有关规定...
  3. 给Photoshop cc 2018添加简体中文语言包
  4. python excel操作 bom_Python Pandas比较BOM表数据
  5. android 歌词同步 换行,AS3歌词同步详解
  6. 安装使用cuteFTP注意事项
  7. 2016清华计算机学院复试名单,清华大学计算机系2016统考硕士拟录取名单
  8. H5 页面在 APP 里如何支持缩放,并隐藏手机自带的放大缩小图标。
  9. 热敏电阻制作温度传感器的c语言,NTC热敏电阻温度测量和控制系统.doc
  10. 听写英语单词的小程序