Android--Activity IntentFilter匹配规则

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等属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值