android intent

本文深入解析了Android中隐式Intent的action与category匹配规则,包括匹配条件、默认category的作用以及如何正确配置Intent以确保Activity能够接收到消息。详细介绍了通过设置category来增强Intent匹配灵活性的方法。

隐式Intent 的action 匹配 只需要一个满足条件即可
category 必须全部符合条件 必须加上

> data 匹配规则类似于action满足一个条件即可。

每一个通过 startActivity() 方法发出的隐式 Intent 都至少有一个 category,就是 “android.intent.category.DEFAULT”,所以只要是想接收一个隐式 Intent 的 Activity 都应该包括 “android.intent.category.DEFAULT” category,不然将导致 Intent 匹配失败。

<activity
    android:name=".Main3Activity"
    android:launchMode="singleTask"
   android:taskAffinity="com.allen.androidtest.task1"
    android:label="@string/title_activity_main3" >
    <intent-filter>
        <action android:name="com.allen.test"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
        <category android:name="com.category.c"></category>
        </intent-filter>
</activity>

Intent intent = new Intent("com.allen.test");

intent.addCategory("com.category.c");

startActivity(intent);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值