Android的intent-Filter的匹配规则

1.Intent是Android的四大组件之一,它不仅可以指当前组件想要执行的动作,还可以在不同组件之间传递数据。
2.Intent包括显示Intent和隐式Intent
3.Intent Filter:其实是一个Intent属性限制条件的集合,包含了Intent对象的action,data,category等属性的限制,每个Intent Filter 描述组件的一种能力,即能够接受一组Intent.
4.Intent Filter匹配Intent的相关属性有action(行为), category(类别),data(数据),extras(附加信息),component(目标组件)

下面详细接受意图过滤器(Intent Filter)的匹配规则:

  • 对于显示Intent,只有组件名重要,其他所有方面或属性都会被忽略
  • 对于隐式Intent,匹配的有action,category,data

data: 只有data标签中指定的内容和Intent携带的Data完全一致时,当前活动才能够响应该Intent
如果data标签中没有指定内容,它只会与不携带的Data的Intent 进行匹配
category: 只有category标签中指定的内容某一项与Intent携带的category一致时,当前活动才能够响应该Intent
如果category没有指定内容,它只会与不携带Category的Intent进行匹配
(注:意图不指定category时,为android.intent.category.DEFAULT)
action: 如果action标签没有指定任何内容,它将和携带了任何action的Intent进行匹配
如果action标签中指定了一个或多个内容,只要某一项与Intent携带的action相同就能进行匹配。

发布了19 篇原创文章 · 获赞 2 · 访问量 419

猜你喜欢

转载自blog.csdn.net/TheWindOfSon/article/details/103834033