IntentFilter

启动Activity有显示调用和隐式调用。
显示调用需要明确指定启动对象的组件信息,包括包名和类名,这里主要介绍隐式调用。隐式调用需要Intent能够匹配目标组件的IntentFilter中做设置的过滤信息,有action、category、data.
action:是一个字符串,要求Intent中的action存在且必选和过滤规则中的**其中一个**action相同,且action区分大小写。
category:是一个字符串,要求Intent可以没有category,但是如果一旦有category,不管有几个,每个都要 能够和过滤规则中的任何一个category相同。intent-filter必须指定“android.intent.category.DEFAULT”,为了预防intent不设置category。
data:由两部分组成:mimeType和URI。与action匹配规则相似。
最后通过隐式方式启动一个Activity时,可以做一个判断,两种方法:PackageManager的resolveActivity方法或者Intentd的resolveActivity方法,若找不到匹配的Activity返回null.

你可能感兴趣的:(学习笔记)