东莞市官网网站建设平台,零基础编程入门自学,石家庄做的好的网站,闵行区怎么样1、要弄清楚这个问题#xff0c;首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。 Explicit Intent明确的指定了要启动的Acitivity #xff0c;比如以下Java代码#xff1a; Intent intent new Intent(this, B.class) Implicit Intent没有明确的指… 1、要弄清楚这个问题首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。 Explicit Intent明确的指定了要启动的Acitivity 比如以下Java代码 Intent intent new Intent(this, B.class) Implicit Intent没有明确的指定要启动哪个Activity 而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。 2、intent到底发给哪个activity需要进行三个匹配一个是action一个是category一个是data。 理论上来说如果intent不指定category那么无论intent filter的内容是什么都应该是匹配的。但是如果是implicit intentandroid默认给加上一个CATEGORY_DEFAULT这样的话如果intent filter中没有android.intent.category.DEFAULT这个category的话匹配测试就会失败。所以如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.DEFAULT。 例外情况是android.intent.category.MAIN和android.intent.category.LAUNCHER的filter中没有必要加入android.intent.category.DEFAULT当然加入也没有问题。 我们定义的activity如果接受implicit intent的话intent filer就一定要加上android.intent.category.DEFAULT这个category。 转载于:https://www.cnblogs.com/Free-Thinker/p/3317422.html