美文网首页
IntentFilter的匹配规则

IntentFilter的匹配规则

作者: 吃葡萄皮不吐葡萄 | 来源:发表于2016-06-09 20:56 被阅读23次

IntentFilter中包含的过滤类型有action,category,data三种信息,必须要三种全部分别匹配,才算Intent匹配成功启动Activity。当然,三种信息的匹配规则并不是完全相同的。除此以外,一个Activity可以有多个intent-filter,一个Intent只要能匹配任何一组intent-filter即可成启动对应的Activity。

action的匹配规则:

action是一个字符串,系统定义了一些action,同时我们也可以在应用中定义我们自己的action。匹配的规则就是:要求Intent中的action存在,而且必须和过滤规则中的其中一个action相同。action区分大小写。

category的匹配规则:

category是一个字符串,系统定义了一些category,同时我们也可以自己定义category。匹配规则是:Intent中测category必须是intent-filter中category的子集(包括系统在嗲用startActivity()或者startActivityForResult()时,会给intent默认添加的"android.intent.category.DEFAULT"这个category)。

data的匹配规则

匹配规则就是,intent中的data数据的范围必须是Intent-filter中指定data数据的范围的子集。除此之外,如果要为intent指定完整的data,必须要用setDataAndType方法,不能先后使用setData方法和setType方法,因为这两个方法彼此清除对方的值。
如果intent-filter没有指定URI,则URI的默认值是content和file。
下面两种intent-filter的作用是一样的。

<intent-filter>
    <data android:scheme="file" android:host="www.baidu.com"/>
</intent-filter>

<intent-filter>
    <data android:scheme"file"/>
    <data android:host="www.baidu.com/>
</intent-filter>

相关文章

  • IntentFilter的匹配规则

    允许转载请注明出处。 IntentFilter的匹配规则 对于初学者来说,学习IntentFilter的匹配规则还...

  • IntentFilter的匹配规则

    IntentFilter的匹配规则 IntentFilter中的过滤信息有action,category,data...

  • IntentFilter匹配规则

  • IntentFilter匹配规则

    首先废话一下,如果要写东西,csdn和简书还是老老实实选简书。不管什么,就冲csdn不会自动保存,简书会自动保存就...

  • IntentFilter匹配规则

    IntentFilter直译过来就是意图过滤器,我们可以通过它的匹配规则去打开我们想要打开的一类Activity,...

  • IntentFilter的匹配规则

    前言 我们知道,启动Activity分为两种,显示调用和隐式调用。这里主要介绍隐式调用的IntentFilter匹...

  • IntentFilter的匹配规则

    启动Activity分为两种,显示调用和隐式调用。显式调用需要明确的指定被启动对象的组件信息,包括包名和类名...

  • IntentFilter的匹配规则

    我们知道,Activity的启动模式分为两种,分别是显式启动和隐式启动。显式启动需要明确的指定被启动的对象的组件信...

  • IntentFilter 的匹配规则

    1. 显示调用与隐式调用   显示调用需要明确指定被启动对象的组件信息,包括类名与包名,隐式调用不需要明确指定组件...

  • IntentFilter的匹配规则

    Activity的隐式调用需要明确指定组件信息。原则一个Intent不应该既是显式又是隐式调用,如果两者共存的话以...

网友评论

      本文标题:IntentFilter的匹配规则

      本文链接:https://www.haomeiwen.com/subject/tgfsdttx.html