在以下哪种情况下会抛出ActivityNotFoundException?
关于ActivityNotFoundException的触发场景判断
咱们逐个分析每个选项的情况:
选项(a):当以显式方式启动目标Activity,但该Activity未在
AndroidManifest.xml文件中声明时,系统无法找到这个Activity组件,必然会抛出ActivityNotFoundException。这是该异常最典型的触发场景之一。选项(b):若目标Activity无法获取传入的Intent对象,最多只会出现调用
getIntent()返回null的情况,并不会触发Activity未找到的异常——毕竟Activity本身已经成功启动,只是Intent数据存在问题而已。选项(c):目标Activity在
AndroidManifest.xml中缺少<intent-filter>标签的情况,要分启动方式来看:如果是显式启动,完全不需要依赖<intent-filter>,系统会直接通过类名定位Activity,不会抛出异常;如果是隐式启动缺少匹配的<intent-filter>,才会出现找不到Activity的情况,但选项并未明确说明是隐式启动,因此该选项不成立。
综上,正确答案是选项(a)。
内容的提问来源于stack exchange,提问作者Priyanka
相关产品推荐
相关产品推荐

