Android开发之入口Activity

Android开发之入口Activity

Adnroid App是如何确定入口Activity的?

难道就因为class的类名叫MainActivity,布局文件叫activity_main.xml?

如果这样认为,就大错特错了。

之所以能够确定入口Activity,是因为在应用的清单文件中有所配置,系统会根据应用的清单文件(AndroidManifest.xml)来确立.

如何确立,标志是什么?

我们来看一下清单文件,便一目了然:

Android开发之入口Activity_第1张图片

对了,系统能够确立就是因为红线标注的意图过滤器intent-filter

系统会在清单文件中访问所有的intent-filter,直到发现如下代码:

 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />

根据其所在activity的name,找到需要启动的activity的实体类。

那我们能否定义两个入口Activity呢?

答案是肯定的。我们不妨来试验一下,再次新建一个Activity,命名为SecondActivity,并在清单文件中注册该activity,同样将其意图过滤器设置为主activity

如图所示:

Android开发之入口Activity_第2张图片

另外,我们还会发现一个有趣的现象:

Android开发之入口Activity_第3张图片

是不是发现,启动一个应用生成了两个图标,是的,每个入口activity都会相应的生成一个图标,与之对应。

当我们点击Test图标的时候,会进入MainActivity,但我们点击SecondActivity图标的时候会进入SecondActivity,也就是说一个应用有两个入口,这样明显是不好的,我们应当严格规定,只能有一个入口activity,莫要奇葩行事!!!

你可能感兴趣的:(Android开发之入口Activity)