Android开发之入口Activity

Posted

tags:

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

原文:Android开发之入口Activity

android开发之入口Activity

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

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

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

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

如何确立,标志是什么?

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

技术分享

对了,系统能够确立就是因为红线标注的意图过滤器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

如图所示:

技术分享

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

技术分享

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

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

以上是关于Android开发之入口Activity的主要内容,如果未能解决你的问题,请参考以下文章

Android开发 之MainActivity类

一起学Android之Activity

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Android开发之Activity跳转动画以及finish动画

Activity设置背景透明之开发坑