Android--Activity IntentFilter匹配规则

来源:互联网 发布:土法炼钢 知乎 编辑:程序博客网 时间:2024/04/28 11:50

Activity IntentFilter匹配规则

  • 一个Activity中可以配置多个IntentFilter,一个IntentFilter中包含一个或多个action、category、data,只有分别都匹配上才能被启动。

    1. action匹配规则:
      • Intent中的action能匹配上IntentFilter中任意一个action的值;
      • action的值区分大小写;
      • Intent必须要有一个action去匹配IntentFilter中的action;
    2. category匹配规则:
      • 只要Intent中有category(一个或多个),能在IntentFilter中找到相同的匹配上就行;
      • 如果Intent中没有的话,那么系统默认category的值为android.intent.category.DEFAULT;
      • 不含DEFAULT的category是无法接收隐式Intent的;
    3. data匹配规则:
      • 只要Intent中有action(一个或多个),能在IntentFilter中找到相同的匹配上就行;
      • 程序入口Activity必须要有的下面两行代码

        <action android:name="android.intent.action.MAIN"/>


        <category android:name="android.intent.action.DEFAULT"/>

显示启动Activity:startActivity(context,XX.class);
隐式启动:
- startActivity(“action的字符串值”);
- Intent中设置category,dataAndType属性;
- 在Intent中设置IntentFilter过滤器, 设置action、category、data等属性

1 0
原创粉丝点击