android:mimetype 自定义,Android: Intent匹配及mimeType匹配,这一篇就够了!!

本文详细介绍了Android中Intent的显式与隐式调用,重点解析了action、category和data的匹配规则,特别是data部分的mimeType和URI结构。强调了隐式调用时的注意事项,包括如何正确设置mimeType、检查匹配组件的存在以及避免启动失败的方法。
摘要由CSDN通过智能技术生成

activity的启动分为显式调用和隐式调用。显式调用需要明确指定组件的信息,来完成调用。。隐式调用是通过匹配目标组件的IntentFilter完成的。一个组件可以设置多个IntentFilter来匹配。IntentFilter中的过滤信息有action、category、data组成。只有一个Intent同时匹配action类别,category类别,data类别才算完全匹配,才能启动对应的组件。一个intent只需要匹配任何一组intentFilter就可以启动对应组件。下面一一讲解对应的匹配规则。

一、action的匹配规则

action是一个字符串,一个过滤规则(intentFilter)可以有多个action。一个IntentFilter必须有一个action,如果没有那么则匹配失败。多个action只要匹配成功一个即可匹配成功,

结论:

Intent中的action必须存在且必须和过滤规则中的其中一个action相同(字符串值完全一样,区分大小写)

二、category的匹配规则

category是一个字符串,Intent可以没有category,但是如果一旦有category,不管有几个,每一个都要能够和过滤规则中的任何一个category相同。简而言之,Intent中携带Category要全部能和IntentFilter中的Category匹配。

注意:

系统在调用startActivity或者startActivityForResult时,会默认为Intent添加“android.intent.category.DEFAULT"这个category。

所以隐式启动的组件必须包含

如果Intent中的存在category,那么这些category都必须和Activ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值