隐式intent

Posted 范仁义

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐式intent相关的知识,希望对你有一定的参考价值。

隐式intent

一、隐式意图介绍

 

显式意图我们前面已经提到,形如:

Intent intent = new Intent();

intent.setClass(this,Other.class); //此句表示显式意图,因为明确设置激活对象为Other类

startActivity(intent);

 

顾名思义,隐式意图就是在不明确设置激活对象的前提下寻找最匹配的组件,举个例子,比如有5个人:

(1)A:170cm

(2)B:160cm

(3)C:180cm

(4)D:190cm

(5)E:200cm

如果是显示意图的话,如果我们要指明选择A的话会说:”我选择A.“,但是如果是隐式意图,则会说:”我要选择170cm的人“,虽然没有指明要选A,但会寻找条件最匹配的人。

 

在intent过滤器中类似于上面例子中的”身高“条件的匹配条件有:

(1)action

(2)category

(3)data:scheme、host、path、type

当在程序中设置了这些激活组件的条件,程序就会去寻找最匹配的组件,但是注意:只要有一点不匹配,则就是不匹配;

比如:

Intent intent = new Intent();

intent.setAction("a"); //此句只是指定了Action

startActivity(intent); //寻找最匹配的组件激活,内部会调用intent.addCategory("Android.intent.category.DEFAULT"); 

 

 

参考:http://blog.csdn.net/xiazdong/article/details/7764865

以上是关于隐式intent的主要内容,如果未能解决你的问题,请参考以下文章

隐式intent

显式Intent与隐式Intent的使用

2016.03-04 学习笔记-Android中隐式Intent 的使用

android隐式intent使用场景解析

Android Intent 隐式

Android-----Intent中通过startActivity(Intent intent )隐式启动新的Activity