Android开发探索第一章 Activity生命周期及启动模式总结(三)
来源:互联网 发布:交换机更换网络 编辑:程序博客网 时间:2024/04/30 07:07
Activity的启动分为两种:隐式启动和显示启动
原则上一个Intent不应该即是显示调用又是隐式调用,如果两者共存的话,以显示调用为主。
这里主要总结下隐式调用:
隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息。IntentFilter中的过滤信息主要有:action、category、data。
action和category比较简单,系统预定义了一些,我们也可以自定义。
data相对比较复杂,它是由两部分组成的,mimeType和URI。
mimeType:它是指媒体类型。用来说明本Activity可以处理的文件类型,如设置为 “text/plain”表示可以处理“.txt”文件。
URI:下面是一个URI的基本结构
<scheme>://<host>:<post>/[<path>|<pathPrefix>|<pathPattern>]
如 file://abc
<data android:mimeType="text/plain" android:scheme="file" android:host="abc" />
URI必须要设置scheme和host属性,否则其他参数设置无效
匹配规则和注意:
1.IntentFilter中至少有一个action,可以没有category和data。
2.任何一个需要隐式调用的Activity,都要设置
<category android:name="android.intent.category.DEFAULT"/>原因是系统调用startActivity或startActivityForResult方法时会默认为Intent加上"android.intent.category.DEFAULT"这个category
3.Intent中至少有一个action,可以没有category,如果IntentFilter中有data,那么Intent中必须也要定义可匹配的data。
4.Intent中添加的任何匹配规则都要和IntentFilter中的匹配规则相匹配,IntentFilter中的匹配规则在Intent中可以没有
5.Intent设置匹配data时,要使用setDataAndType方法,不能使用setData和setType分别设置,这两个方法会互相清除对方的值
6.特殊的一组action和category:
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
这两者共同作用表明这是一个入口Activity并且会出现在系统的应用列表中,少任何一个都没有实际意义(这一组不需要添加上述规则2)
- Android开发探索第一章 Activity生命周期及启动模式总结(三)
- Android开发探索第一章 Activity生命周期及启动模式总结(一)
- Android开发探索第一章 Activity生命周期及启动模式总结(二)
- 第一章Activity的生命周期和启动模式(Android开发艺术探索)
- Activity生命周期和启动模式 - Android开发艺术探索读书笔记(第一章)
- Activity的生命周期和启动模式-Android开发艺术探索读书笔记第一章
- 《Android 开发艺术探索》随手笔记——第一章Activity生命周期和启动模式
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
- Android开发艺术探索读书笔记 第一章 Activity的生命周期和启动模式
- Android 艺术开发探索 第一章 Activity 的生命周期和启动模式观后感
- 【Android开发艺术探索读书笔记】 第一章 Activity的生命周期与启动模式
- 《Android开发艺术探索》读书笔记-第一章 Activity的生命周期和启动模式
- 《Android开发艺术探索》阅读笔记(一)、activity生命周期 及 启动模式
- 《Android开发艺术探索》读书笔记----第一章:Activity的启动模式
- Android开发艺术-第一章Activity的生命周期和启动模式
- Android开发艺术探索--Activity生命周期和启动模式
- 《Android开发艺术探索》之Activity的生命周期及启动模式
- 《Android开发艺术探索》之学习笔记(一)Activity的生命周期和启动模式
- js日期格式化
- RARF:基于响应式抽象资源流的深度RESTful实践(不知道是不是坐井观天)
- 二叉树的操作
- 关于C++变量初始化的总结(转载+自己总结)
- po/mo互相转换工具
- Android开发探索第一章 Activity生命周期及启动模式总结(三)
- 视图
- Problem Joseph。。。lzl==sz
- mysql字段类型
- Java日期处理
- 注解式框架Butterknife的用法
- EditPlus批量更改文件编码
- Java中volatile的使用
- 导航条navigationBar上中间标题title 文字的样式