1.问题发现:
在新建一个小工程后发现工程无法运行,在启动时弹出Error running app:Default Activity not found,并且运行窗口有个小叉。
最开始以为是java代码未有调用layout文件,结果发现不是这个问题,而且XML文件布局特别简单,未有出错,最后发现问题在AndroidManifest.xml,需要在其中加入代码。
2.解决办法:
在AndroidManifest.xml加入代码:
即添加以下代码段
<activity android:name=".BasicLayout">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
3.涉及知识点
启动活动的顺序又是在AndroidManifest.xml中定义的,所以查看AndroidManifest.xml文件对第1个活动的配置通过AndroidManifest.xml文件,在第1个活动中没有配置<category>,所以在启动的时候,就找不到启动的app,造成Default Activity not found。
在AndroidManifest.xml的文件结构中,<manifest> 和 <application> 元素是必需的,它们都必须存在并且只能出现一次。其他大部分元素可以出现多次或者根本不出现。但清单文件中必须至少存在其中某些元素才有用。
而我们关注的<category>,它是包含在<intent-filter>中的。<intent-filter>中<action>是必须存在的,<category>中android:name属性的值,一般为android.intent.category.LAUNCHER,意思是:决定应用程序是否显示在程序列表里。